搜索查询不起作用的固定链接

时间:2014-05-30 作者:noelmcg

正如标题所示,我正在尝试为搜索查询创建漂亮的永久链接,但不幸的是,我无法让它们工作。

我正在努力实现以下目标:

website.com/search/something+searched
将转到以下内容

website.com/?s=something+searched
我在“init”操作中尝试了以下重写规则。

add_rewrite_rule(\'^search/([^/]*)/$\',\'?search=true&s=$matches[1]\',\'top\');
这不起作用,尽管“网站”。com/search/something”将转到搜索页面,但不会传递变量。如下代码所示:

 
function search_rewrite( $wp_rewrite ) {
    $feed_rules = array(
        \'search/(.+)\'    =>  \'index.php?s=\'. $wp_rewrite->preg_index(1)
    );
    $wp_rewrite->rules = $feed_rules + $wp_rewrite->rules;
}
// refresh/flush permalinks in the dashboard if this is changed in any way
add_filter( \'generate_rewrite_rules\', \'search_rewrite\' );
我想我在搜索中遗漏了一些东西。php文件,但我不确定是什么。

是否有理由让搜索查询/重写的行为与其他重写不同?

提前感谢您的帮助。

干杯

诺埃尔

1 个回复
最合适的回答,由SO网友:noelmcg 整理而成

学生错误!

我正在使用:

$_GET[\'s\'];
与之相反:

get_query_var(\'s\');
因此,搜索结果是空的。

希望这对将来的人有帮助!

结束