【发布时间】:2017-04-05 16:06:19
【问题描述】:
我正在使用 WooCommerce 运行最新的 Wordpress
当我使用网站标题中的搜索栏时,我正在尝试自定义搜索结果。
这是进行正常搜索时结果的显示方式:
http://www.sunshinetrading.com/snowmasters/?s=snow
当我通过 WooCommerce 进行搜索时,它们应该显示为这样。
http://www.sunshinetrading.com/snowmasters/?s=snow&post_type=product
我需要做的是自动将&post_type=product 附加到从标题启动的每个搜索查询中。
我的解决方案尝试:
我将此添加到我的子主题的 functions.php 文件中,以尝试附加可以修复所有问题的查询。
// Search WooCommerce
function search_filter($query) {
if ( !is_admin() && $query->is_main_query() ) {
if ($query->is_search) {
echo esc_url( add_query_arg( 'post_type', 'product' ) );
$query->set('post_type', 'product');
}
}
}
add_action('pre_get_posts','search_filter');
但是,当我这样做并进行搜索时,在网站继续加载与以前完全相同的页面之前,URL应该是在页面上短暂显示为文本。 p>
我做错了什么?也许我可以通过编辑.htaccess 文件来解决这个问题。我添加了以下内容...
# REWRITE SNOWMASTERS SEARCH
RedirectMatch 302 snowmasters.com.au/?s=(.*) http://snowmasters.com.au/?s=$1&post_type=product
这应该将http://snowmasters.com.au/?s=snow 重定向到http://snowmasters.com.au/?s=snow&post_type=product
但它不起作用?
感谢您对 Stack Overflow 社区的帮助 :)
谢谢
【问题讨论】:
-
我现在正在尝试让 mod_apache 通过 .htaccess 文件重定向用户。请参阅上面的更改。
标签: php wordpress .htaccess redirect search