所以我试图实现以下目标。
我的代码到目前为止..
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
部分内容。
我该怎么做?
即使没有分配给查询分类的帖子,我还需要添加哪些代码才能仍然返回已修改的$title
?
答案 0 :(得分:0)
将您的代码更改为:
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()返回一个术语数组数组,因此您还需要使用[0]
索引获取结果的第一个元素,然后链接['name']
索引以获取其名称术语