我正在使用 WooCommerce API 开发移动应用程序,我需要从 /products
端点中排除一些具有特定标签 ID 的产品。
文档中没有关于如何执行此操作的选项!只需提及按 ID 排除产品,而不是标签。
最佳答案
您可以使用 woocommerce_rest_product_object_query
Hook 创建自定义过滤器。
例如带有参数 tag_exclude
的过滤器:
http://wp.test/wp-json/wc/v3/products?tag_exclude=21,24
function filter_woocommerce_rest_tag_exclude( $args, $request ) {
$params = $request->get_query_params();
if(isset($params['tag_exclude'])){
$args['tax_query'] = array(
array(
'taxonomy' => 'product_tag',
'terms' => explode(',', $params['tag_exclude']) ,
'field' => 'term_id',
'operator' => 'NOT IN',
),
);
}
return $args;
};
add_filter( "woocommerce_rest_product_object_query", 'filter_woocommerce_rest_tag_exclude', 10, 2 );
关于javascript - woocommerce:如何从 Woocommerce REST API 中排除某些具有特定标签 ID 的产品,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58808663/