我想将术语名称设置为变量
if(isset($wp_taxonomies)) {
$term = get_term_by(
'slug',
get_query_var('term'),
get_query_var('taxonomy')
);
if($term) {
// do stuff
}
}
function assignPageTitle(){
return $term>name;
}
add_filter('wp_title', 'assignPageTitle');
get_header();
此代码位于taxonomy.php
文件中,$term>name;
返回名称,但只有当我回显时,标题上才会显示以下错误:
注意:在 12 /home/jshomesc/public_html/wp-content/themes/jshomes/taxonomy.php 中使用未定义的常量名称 - 假定为'name' >
注意:未定义的变量: /home/jshomesc/public_html/wp-content/themes/jshomes/taxonomy.php 中的术语 12
答案 0 :(得分:1)
有几个问题:
要访问术语的name
属性,语法就像$term->name
一样。
assignPageTitle
函数不知道您刚刚在其上方检索的全局$term
变量。它正在尝试检索尚未定义的本地name
变量的$term
属性。
要解决此问题,请添加global
关键字(并检查是否已填充):
function assignPageTitle(){
// Now the function will know about the $term you've retrieved above
global $term;
// Do we have a $term and name?
if(isset($term, $term->name)){
return $term->name;
}
return "No term for you...";
}
您可以阅读有关PHP variable scoping的更多信息以获取帮助。