javascript - woocommerce:如何从 Woocommerce REST API 中排除某些具有特定标签 ID 的产品

标签 javascript php wordpress woocommerce

我正在使用 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/

相关文章:

javascript - 使列和行中的所有按钮大小相同?

javascript - 将对象数组转换为另一个对象数组

php - 在centos上从src代码编译PHP5.5失败

php - 删除每次迭代后添加的额外 [ ] 以通过 PHP 发送 JSON

php - 如何通过 SSL 代理 NGINX、Varnish 和 PHP-FPM

javascript - 当索引位于不同数组中时遍历 JSON 数据

javascript - jQuery hsCountdown 返回某些数字的错误值

php - Laravel 的输入 :all() ignores disabled inputs

php - 结帐页面上的返 repo 物车按钮

php - 如何在wordpress插件中创建新页面?