2014-12-03 34 views
1

我對自定義字段'meta_key' => 'author_name'用於訪客文章(無用戶配置文件),並且手動輸入每篇文章的作者姓名值。按自定義字段「meta_key」,「meta_value」進行過濾

是否可以過濾'meta_key''meta_value'爲紐帶:

example.com/author_name/guest001/example.com/?author_name=guest001

和顯示的職位,使作品非常相似類別,標籤,或真正的作者?

回答

1

首先你需要添加重寫標籤是這樣的:

function createRewriteRules() { 
    global $wp_rewrite; 

    // add rewrite tokens 
    $authorname = '%authorname%'; 
    $wp_rewrite->add_rewrite_tag($authorname, '(.+?)', 'author-name='); 

    $keywords_structure = $wp_rewrite->root . "author-name/$authorname/"; 
    $keywords_rewrite = $wp_rewrite->generate_rewrite_rules($keywords_structure); 

    $wp_rewrite->rules = $keywords_rewrite + $wp_rewrite->rules; 
    return $wp_rewrite->rules; 
} 
add_action('generate_rewrite_rules', 'createRewriteRules'); 

然後鉤產生的規則,並添加您的重寫規則:

function add_rewrite_rules($wp_rewrite) 
{ 
     add_rewrite_rule('^author-name/([^/]*)/?','index.php?page_id=12&author-name=$matches[1]','top'); 
     //page_id is added hardcoded but you can get the page id using your own code/function 
} 
add_action('init', 'add_rewrite_rules'); 

添加變量來查詢瓦爾:

function query_vars($public_query_vars) { 
    $public_query_vars[] = "author-name"; 
    return $public_query_vars; 
add_filter('query_vars', 'query_vars'); 

它應該工作,請使用Developer插件來檢查您的重寫LES。

相關問題