【问题标题】:woocommerce: How to exclude some products with specific tag ID from Woocommerce REST APIwoocommerce:如何从 Woocommerce REST API 中排除某些具有特定标签 ID 的产品
【发布时间】:2019-11-12 22:05:57
【问题描述】:

我正在使用 WooCommerce API 开发移动应用程序,我需要从 /products 端点中排除一些具有特定标签 ID 的产品。

文档中没有关于如何执行此操作的选项!只需按他们的 ID 提及排除产品,而不是标签。

【问题讨论】:

    标签: javascript php wordpress woocommerce


    【解决方案1】:

    您可以使用woocommerce_rest_product_object_query 挂钩创建自定义过滤器。

    例如带有参数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 ); 
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-11-09
      • 2013-08-11
      • 2017-09-09
      • 2022-12-15
      • 1970-01-01
      • 2021-09-21
      • 2021-04-13
      • 2019-09-06
      相关资源
      最近更新 更多