首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >类构造函数中的WP add_filter不工作。

类构造函数中的WP add_filter不工作。
EN

Stack Overflow用户
提问于 2021-01-26 08:58:12
回答 1查看 161关注 0票数 0

我使用一个基本的PHP类将回调添加到现有的WC过滤器中,在类之外,回调按其应有的方式工作,但是构造函数中的筛选器似乎没有调用函数,我尝试了许多变体,但它们都没有工作。这是一堂课:

代码语言:javascript
复制
class Filters implements FiltersInterface{
    public function __construct()
    {
        add_filter("woocommerce_rest_product_object_query", array($this,'FilterByMeta'),           10,2);
        add_filter("woocommerce_rest_query_var-tax_query",  array($this,'FilterByTaxonomies'),     10,1);
    }

    public function FilterByMeta($args,$request){
        $key = $request->get_param('meta-key');
        if($key!='' && $key!=null)
         {
           $args['meta_key'] = $key;
         }  
         $value = $request->get_param('meta-value');
         if($value!='' && $value!=null)
          {
            $args['meta_value'] = $value;
          }  
       return $args;
    }

    public function FilterByTaxonomies($args){
        var_dump('--');

        $attr_term = $_GET['attribute-term'];
        $attr_name = $_GET['attribute-name'];
    
        if($attr_term!='' && $attr_term!=null && $attr_name!='' && $attr_name!=null)
         {
           $args = array(
             array(
               'taxonomy' => $attr_name,
               'field'    => 'slug',
               'terms'    => $attr_term
             )
           );
           return $args;
          }  
          $cat= $_GET['category'];
          if($cat!='' && $cat!=null)
           {
             $args =  array(
              'relation'            => 'OR',
              array( 
                'taxonomy'          => 'product_cat',
                'field'             => 'slug',
                'terms'             => $cat
              )
            );  
             return $args;     
            }   
         return $args;
    }
 }

这是在我的定制2文件插件中的index.php文件中。

代码语言:javascript
复制
   include('cfilters.php');

   $filters = new Filters;

我试着在中使用类名和‘类’,但是它也不起作用

EN

回答 1

Stack Overflow用户

发布于 2021-01-27 07:43:47

问题是第一个过滤器没有为第二个过滤器添加密钥,在第一个过滤器中初始化税务查询之后,它就开始工作了。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65898386

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档