如何在循环中添加返回实际POST的分类段的短码函数

时间:2021-05-02 作者:Ernest

情况:我有一个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;
}

1 个回复
最合适的回答,由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;
}

相关推荐

WordPress不同的模板用于相同类型的自定义POST(但不同的Slug)

我已经创建了一个自定义帖子类型,比如电影,现在我已经在电影类型下创建了4个帖子。鼻涕虫是movie/parasite/director 和movie/parasite/actor.同样地movie/joker/director 和movie/joker/actor. 现在我想加载两种类型的模板,一种用于director,另一种用于基于slug的actor。我正在使用pod插件自定义帖子类型。我所做的是创建了一个php文件名single-movie.php 主题文件夹下的文件。这single-movie.p