搜索固定链接/搜索/的自定义命名

时间:2012-08-31 作者:mathiregister

我在网上找到了这个片段…

function search_url_rewrite_rule() {
    if ( is_search() && !empty($_GET[\'s\'])) {
        wp_redirect(home_url("/search/") . urlencode(get_query_var(\'s\')));
        exit();
    }   
}

add_action(\'template_redirect\', \'search_url_rewrite_rule\');
这将改变我的?/s=term 进入/search/term 这几乎就是我想要的。我想在永久链接中使用德语单词“suche”而不是“search”。

我想改变一下home_url("/search/") 简单地home_url("/suche/") 但这行不通。

我怎样才能做到这一点?

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

它不起作用的原因是因为您没有告诉WordPress如何处理该页面。可以通过以下方式应用重写规则来完成此操作。

add_action( \'init\', \'wpse_63716_search_rule\' );
function wpse_63716_search_rule(){
    add_rewrite_rule(\'^suche/([^/]*)?\', \'index.php?s=$matches[1]\', \'top\');
}
添加上述代码后,不要忘记刷新永久链接。

结束

相关推荐

WordPress+Magento.htaccess重写规则问题(WWW与非WWW)

我现在面临一个问题。离开了它,但现在我回来了,在尝试在线找到解决方案后,我完全不知道。个人似乎也遇到过类似的问题,但尝试常见的修复只导致了500个内部服务器错误。我会尽可能详细地解释。好的,那么谈谈这个问题。我有一个使用WordPress和Magento的网站。WP页面保存在子目录(/关于/)中,因此当用户访问其中一个页面时,url如下所示:www.example。com/about/wordpresspage/。我们有一个产品页面,该页面位于WP之外,可以直接访问,url如下所示:www.example