【发布时间】:2015-08-01 21:17:26
【问题描述】:
我对 wp 还很陌生。我发现其他人在模板顶部使用此过滤器代码来设置该页面的标题:
function assignPageTitle(){
return "Custome Title";
}
add_filter('wp_title', 'assignPageTitle');
但我需要从query_vars $wp_query->query_vars['claim_id'] 传递我的assignPageTitle 函数1 参数,而我的getTitle 函数会根据内容的ID 构建标题。我想这样的事情,但它不起作用。 $wp_query->query_vars['claim_id'] 在此函数内部调用时为 null:
function assignPageTitle(){
return getTitle($wp_query->query_vars['claim_id']);
}
add_filter('wp_title', 'assignPageTitle');
我看到有些人使用带有这些过滤器的参数,如下所示:
function assignPageTitle($claim_id){
return getTitle($claim_id);
}
add_filter('wp_title', 'assignPageTitle',10,1);
但这是我非常困惑的地方。我可以在哪里将 claim_id 变量传递给assignPageTitle($claim_id) 函数?将assignPageTitle(312) 放在该过滤器代码下没有任何作用,而wp_title(234) 只是在模板页面上的任何位置回显类似字符串的标题。
我也尝试只编辑标题所在的 functions.php:
<title><?php getTitle($wp_query->query_vars['claim_id']);?></title>
但是$wp_query->query_vars['claim_id'] 在函数中被调用时是null。
我一定完全不了解这些过滤器,我怎样才能将标题设置为getTitle($wp_query->query_vars['claim_id']) 的输出?
【问题讨论】:
-
尝试在
assignPageTitle()函数中添加global $wp_query;作为第一行。 -
是的,就是这么简单