WooCommerce:获得活跃的产品过滤器

时间:2018-09-24 13:01:50

标签: php wordpress woocommerce

在WooCommerce产品循环中,我们可以通过在URL中添加?pa_{attribute}={value}来改变循环。 我正在尝试创建一个自定义产品过滤器,我需要知道当前哪些过滤器处于活动状态,因此我可以创建一个函数来更改URL而不会出现错误。

是否可以将活动的WooCommerce过滤器输出到数组中?

1 个答案:

答案 0 :(得分:0)

您可以使用pre_get_posts过滤器挂钩根据过滤器更改列表。

将以下代码粘贴到当前活动主题 functions.php 文件中:

 function filter_pre_get_posts( $wp_query ) {

   if(is_shop()){
    $filter_term = $_GET['pa_color'];
    if (isset($filter_term ) && !empty($filter_term )) {
        $wp_query->set('tax_query', array(
            array(
                'taxonomy' => 'pa_color',
                'field' => 'slug',
                'terms' => $filter_term ,
                'include_children' => true,
                'operator' => 'IN'
            )
        ));
    }
}

add_action('pre_get_posts', 'filter_pre_get_posts' );

希望对您有帮助。