Woocommerce搜索结果显示商店的所有产品

时间:2018-04-18 17:19:55

标签: php wordpress woocommerce wordpress-theming

最近,我有一个由发展中公司在WooCommerce开发的网站。由于他不必要的资金需求,我需要从他那里收回我的网站,我没有注意到产品搜索没有工作。

问题是每当我开始在搜索栏中输入内容时,通过实时搜索,我得到产品名称。但是当我搜索产品的名称或任何东西并立即点击输入时,搜索结果将我带到显示所有产品的商店页面。没有相关产品出现。我跟着像

这样的解决方案

我刚把它复制到function.php,情况也一样。

function wp_search_filter($query) {
$url = 'https://' . $_SERVER['SERVER_NAME'] . $_SERVER['REQUEST_URI'];
if ( (strpos($url,'post_type=product') !== false) && is_search() ) {
    $query->set('post_type', 'product');
}
return $query;
}

add_filter('pre_get_posts','wp_search_filter');

1 个答案:

答案 0 :(得分:1)

您可以在此网页上找到解决方案

https://github.com/woocommerce/woocommerce/wiki/wc_get_products-and-WC_Product_Query

当我有时间时,我会尝试创造更好的解释, 我建议你使用自定义var或使用一些自定义分类法作为Key,因为使用它。

function wp_search_filter($query) {
 $url = 'https://' . $_SERVER['SERVER_NAME'] . 
$_SERVER['REQUEST_URI'];
if ( (strpos($url,'post_type=product') !== false) && is_search() ) {
$query->set('post_type', 'product');
}
return $query;
}

add_filter('pre_get_posts','wp_search_filter');

让我们举一个例子,你会搜索一件衬衫,骨头产品在描述中有“衬衫”字样,这个wp_search也会得到骨头,它在我的一个项目中发生。