My target:
按照指南在主题(page expert.php)中创建页面模板Page
Templates.使用模板创建空白页上述页面将显示特定用户的配置文件信息(由自定义角色“专家”创建add roles).配置文件的默认Wordpress链接为http://mysite/author/expert-name. 但我想要链接http://mysite/writer/expert/[expert-nickname] 应显示用户角色的配置文件“专家”用户专家昵称它或多或少是add_rewrite_rule.
What I did:
模板文件、角色和页面(page\\u id=211,slug=
http://[mysite]/writer/expert) 相应地创建。
重定向管理(通过function.php中的类myExpert初始化)和永久链接设置更新:
class myExpert extends myWriters{
public function __construct(
add_filter(\'init\', array($this, \'set_expert_link_base\'));
add_filter("expert_link", array($this, \'fix_expert_link\')); //For now, this changes the link of all author profiles. I\'ll look into it later.
}
function set_expert_link_base()
{
add_rewrite_tag(\'%expert%\', \'([^&]+)\', \'expert=\');
add_rewrite_rule(\'^expert/([^/]*)?\',\'index.php?page_id=211&expert=$matches[1]\',\'top\');
}
function fix_expert_link($link)
{
if($link){
return str_replace("author","expert",$link);
}
}
}
Problem:
呼叫时
http://mysite/writer/expert/[expert-nickname], 正在重定向到页面,但未在page expert中处理get变量。php。以下不包含任何索引“专家”。(全局$wp\\u查询和$wp)
$wp->query_vars
$_REQUEST
$wp_query->query_vars
$exp_slug= get_query_var(\'expert\');
ia空白
add_filter(\'request\', array($this, show_req_vars()));
function show_req_vars($vars)
{
print_r($vars);
return $vars;
}
输出:
数组([page\\u id=>211)
我做错了什么/错过了什么?