修改 WooCommerce 产品查询以过滤属性

问题描述 投票:0回答:1

我们正在尝试创建一个“从-到”过滤器。 用户在 From 中填写值 X 和/或在 To 中填写值 Y。

根据这些输入,我们希望向 woocommerce 产品查询添加更大或更少的条件。

以下代码示例是我们尝试过的众多示例之一:

function alter_wc_product_loop_query($query)
{
    if ((is_product_category() || is_shop()) && $query->is_main_query()) {
         $taxes[] = [
             'taxonomy' => 'pa_horsepower-hp',
             'field'    => 'name',
             'terms'    => 100,
             'operator' => '>='
         ];

        $query->set('tax_query', $taxes);
    }
}
add_action('pre_get_posts', 'alter_wc_product_loop_query');

我们还尝试了操作 add_action('woocommerce_product_query', 'alter_wc_product_loop_query');。

我们还尝试了元查询:

$attribute_name = 'vermogen-pk'; // Replace with the attribute name
        $comparison_operator = '>'; // Replace with the desired comparison operator, e.g., >, <, >=, <=
        $comparison_value = 100; // Replace with the desired numeric value

        $meta_query = $query->get('meta_query');

        $meta_query[] = array(
            'key'     => 'attribute_' . $attribute_name,
            'value'   => $comparison_value,
            'type'    => 'numeric',
            'compare' => $comparison_operator,
        );

        $query->set('meta_query', $meta_query);

在所有情况下它都不起作用。它要么显示所有产品,要么根本不显示产品。

我们如何过滤大于或小于条件的产品?

我们尝试了tax_queries和meta_queries。 在这两种情况下,过滤都不起作用。

我们调试了查询,要么查询根本没有添加,要么添加查询但结果没有结果

wordpress woocommerce hook-woocommerce
1个回答
0
投票

你是如何解决这个问题的? 我们还尝试创建一个“从-到”过滤器。用户在 From 中填写值 X 和/或在 To 中填写值 Y。但直到现在我还没有找到解决办法。 谢谢

© www.soinside.com 2019 - 2024. All rights reserved.