2016-11-24 48 views

回答

0

与功能只是改变搜索基

function vital_custom_search_base() { 
    $GLOBALS['wp_rewrite']->search_base = 'custom-search'; 
} 

add_action('init', 'vital_custom_search_base'); 

功能只有在设置重新保存后工程>永久链接

1

您应该使用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); 

,你就能获取通过关键字的值它有帮助

注意:您必须更新您的永久链接结构或将这些代码

+0

可能我就可以改变搜索基后使用flush_rewrite_rules(); ?试图改变var $ search_base ='search';在class-wp-rewrite中进行自定义搜索,但没有任何反应。无论如何搜索/搜索/基地... – user3514052

+0

@ user3514052你必须更新永久链接结构,每次你更新它,创建一个页面与搜索'slug和更新永久链接结构,它应该这样做 – Amin