情况:我有一个CPT叫做;“设计”;以及与之相关的分类法,称为;项目类别“;这样我就可以为每个设计指定一个类别。我正在为每个“设计”构建模板,我需要一个返回指定项目类别的快捷码SLUG 循环中的当前设计。
检索slug而不是ID很重要,因为我将使用短代码包装整个模板,并为其指定一个#ID名称,这样我就可以使用链接将其作为目标。
示例:我有一个设计帖子,名为;百事可乐新标志“;其中有;视觉识别”;因为它是项目类别。因此,我需要使用短代码返回“;“视觉识别”;而不是;视觉标识;。
需要考虑的事实:每个设计将只分配一个类别,因此我不需要使用短代码来返回数组,只需要一个slug。
我想应该是这样的:
add_shortcode( \'return_taxonomy_slug\', \'my_shortcode_return_taxonomy_slug\' );
function my_shortcode_return_taxonomy_slug() {
return get_the_terms( $designs, $project_category->slug );
}
。。。或者像这样的解决方法:
add_shortcode( \'return_taxonomy_slug\', \'my_shortcode_return_taxonomy_slug\' );
$terms = wp_get_post_terms( get_the_ID(), \'project_category\');
function my_shortcode_return_taxonomy_slug() {
return $terms->slug;
}
最合适的回答,由SO网友:Michael 整理而成
get_the_terms()
将始终返回一个数组;但由于您只有一个“project\\u类别”,因此可以简单地使用其第一个元素:
add_shortcode( \'return_taxonomy_slug\', \'my_shortcode_return_taxonomy_slug\' );
function my_shortcode_return_taxonomy_slug() {
$terms = get_the_terms( get_the_ID(), \'project_category\');
return $terms[0]->slug;
}