如何从查询的对象中获取分类术语名称
How to get taxonomy term name from a queried object
所以我正在努力实现以下目标。
到目前为止我的代码..
add_filter('wpseo_title', 'vehicle_listing_title');
function vehicle_listing_title( $title )
{
if ( get_post_type() == 'vehicles' )
{
$location = get_the_terms($post->ID, 'vehicle_location');
$model = get_the_terms($post->ID, 'vehicle_model');
$title = $model . 'used cars for sale in' . $location .'on'. get_bloginfo('name');
}
return $title;
}
此代码导致 $location
& $model
成为包含以下 term_id =>,name=>,slug=>,term_group=>,etc
的对象,所以我想获取其中的 name
部分.
我该怎么做?
我必须在代码中添加什么才能使 return 修改后的 $title
即使没有任何帖子分配给查询的分类法?
将您的代码更改为:
add_filter('wpseo_title', 'vehicle_listing_title');
function vehicle_listing_title( $title )
{
if ( get_post_type() == 'vehicles' )
{
$location = get_the_terms($post->ID, 'vehicle_location');
$model = get_the_terms($post->ID, 'vehicle_model');
$title = '';
if($model && $model[0]) $title .= $model[0]->name . ' used';
else $title .= 'Used';
$title .= ' cars for sale';
if($location && $location[0]) $title .= ' in ' . $location[0]->name;
$title .= ' on ' . get_bloginfo('name');
return $title;
}
return $title;
}
基本上,您需要使用 IF 来构建您的标题,以检查是否可以获得模型和位置的术语数组。此外,wp_terms() returns 术语数组的数组,因此您还需要使用 [0]
索引获取结果的第一个元素,然后链接 ['name']
索引以获取术语的名称。
所以我正在努力实现以下目标。
到目前为止我的代码..
add_filter('wpseo_title', 'vehicle_listing_title');
function vehicle_listing_title( $title )
{
if ( get_post_type() == 'vehicles' )
{
$location = get_the_terms($post->ID, 'vehicle_location');
$model = get_the_terms($post->ID, 'vehicle_model');
$title = $model . 'used cars for sale in' . $location .'on'. get_bloginfo('name');
}
return $title;
}
此代码导致
$location
&$model
成为包含以下term_id =>,name=>,slug=>,term_group=>,etc
的对象,所以我想获取其中的name
部分.
我该怎么做?我必须在代码中添加什么才能使 return 修改后的
$title
即使没有任何帖子分配给查询的分类法?
将您的代码更改为:
add_filter('wpseo_title', 'vehicle_listing_title');
function vehicle_listing_title( $title )
{
if ( get_post_type() == 'vehicles' )
{
$location = get_the_terms($post->ID, 'vehicle_location');
$model = get_the_terms($post->ID, 'vehicle_model');
$title = '';
if($model && $model[0]) $title .= $model[0]->name . ' used';
else $title .= 'Used';
$title .= ' cars for sale';
if($location && $location[0]) $title .= ' in ' . $location[0]->name;
$title .= ' on ' . get_bloginfo('name');
return $title;
}
return $title;
}
基本上,您需要使用 IF 来构建您的标题,以检查是否可以获得模型和位置的术语数组。此外,wp_terms() returns 术语数组的数组,因此您还需要使用 [0]
索引获取结果的第一个元素,然后链接 ['name']
索引以获取术语的名称。