我在网上找到了这个片段…
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/")
但这行不通。
我怎样才能做到这一点?
最合适的回答,由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\');
}
添加上述代码后,不要忘记刷新永久链接。