从wordpress / woocommerce搜索查询中获取不同的结果

时间:2016-01-09 16:21:09

标签: php mysql wordpress woocommerce distinct

我一直在寻找好几个星期来解决这个问题,但我还没有能够解决这个问题(主要是因为缺乏知识)。

我有一个带有woocommerce的WP网站。位于:

www.importa-supplementen.nl(非常慢,对不起)

我上传了很多产品。由于我们的公司数据库工作,我必须上传产品X 4次,如果它有4个不同的类别(不同的SKU' s)等。我不能在那里改变,不幸的是。现在,当我想在前端搜索产品X时,显然我得到了4个相同的产品(通过客户的眼睛)。例如,尝试搜索:" queen"

我已经通过“add_filter'你可以改变wordpress / woocommerce中的搜索查询,但似乎没有什么对我有用。至少,我发现的少数。我需要一些说法:

SELECT distinct .....或者GROUP BY?

我读过有关pre_get_posts的内容吗?

我的网站使用woocommerce的archive-product.php来显示搜索结果。

我希望有WP / woocommerce专家可以告诉我这个。我认为这应该很简单,但对我来说,这些解决方案很难找到。非常感谢!

BAS

1 个答案:

答案 0 :(得分:0)

以下是如何使用pre_get_posts从前端搜索查询中排除字词的示例。

function so_34695883_exclude_product_category( $query ) {
    if ( ! $query->is_admin() && $query->is_search() && $query->is_main_query() ) {
        $tax_query = array(
            array(
                'taxonomy' => 'actor',
                'field'    => 'slug',
                'terms'    => array( 'foo', 'bar' ),
                'operator' => 'NOT IN',
            ),
        );
        $query->set( 'tax_query', $tax_query ); 
    }
}
add_action( 'pre_get_posts', 'so_34695883_exclude_product_category' );