2014-12-03 30 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。

相关问题