我有自定义搜索页,具有永久http://mywebsite.com/custom-search/如何在wordpress中更改搜索固定链接?
我应该怎么做,以通过搜索关键字作为参数,如:http://mywebsite.com/custom-search/keyword
我收到错误404页。或者可能有一种方法来更改标准永久链接/搜索/到/定制搜索/?
我有自定义搜索页,具有永久http://mywebsite.com/custom-search/如何在wordpress中更改搜索固定链接?
我应该怎么做,以通过搜索关键字作为参数,如:http://mywebsite.com/custom-search/keyword
我收到错误404页。或者可能有一种方法来更改标准永久链接/搜索/到/定制搜索/?
与功能只是改变搜索基
function vital_custom_search_base() {
$GLOBALS['wp_rewrite']->search_base = 'custom-search';
}
add_action('init', 'vital_custom_search_base');
功能只有在设置重新保存后工程>永久链接
您应该使用rewrite endpoints
示例代码:
/*!
* URL rewrite
*/
function my_custom_rewrite_rules() {
$page_id = 123;
$page_path = get_page_uri($page_id);
add_rewrite_endpoint('keyword', EP_PAGES);
add_rewrite_rule('^'. $page_path .'/(.*)/?', 'index.php?page_id=' . $page_id . '&keyword=$matches[1]', 'top');
}
add_action('init', 'my_custom_rewrite_rules');
,然后通过get_query_var("keyword")
希望添加为query_var
function my_custom_query_vars($vars) {
if(isset($_GET['keyword']) && !empty($_GET['keyword'])) {
$vars[] = 'keyword';
}
return $vars;
}
add_filter('query_vars', 'my_custom_query_vars', 10, 1);
,你就能获取通过关键字的值它有帮助
注意:您必须更新您的永久链接结构或将这些代码
可能我就可以改变搜索基后使用
flush_rewrite_rules();
?试图改变var $ search_base ='search';在class-wp-rewrite中进行自定义搜索,但没有任何反应。无论如何搜索/搜索/基地... – user3514052@ user3514052你必须更新永久链接结构,每次你更新它,创建一个页面与搜索'slug和更新永久链接结构,它应该这样做 – Amin