如何在数组中显示自定义帖子类型的分类

时间:2017-11-06 作者:Neelam Khan

我试图在我的归档页面上显示分类法中的术语,但我很难显示术语名称,以下是我目前所掌握的内容:

if ($post->post_type == \'cpt_saving\') {
   $categories = get_the_terms($post->ID, \'cpt_saving-type\');
   if ($categories) {
       $categories[\'name\'];
   }
   $stack = [
        \'title\' => get_field(\'savings_headline\', $post_id),
        \'image\' => get_field(\'savings_supplier_logo\', $post_id),
        \'reference\' => get_field(\'savings_reference\', $post_id),
        \'date\' => get_the_date(\'l j F Y\'),
        \'link\' => get_the_permalink(),
        \'term\' => $categories->name,
    ];
    get_template_partial(\'partials/savings/savings-item\', $stack);
}
由于我有$stack作为数组,我如何调用分类术语名称以在前端显示它?

2 个回复
最合适的回答,由SO网友:Neelam Khan 整理而成

我能够使用以下内容显示每个帖子的分类术语:

$savings_terms = get_the_term_list($post->ID, \'cpt_saving-type\');

$stack = [
  \'term\' => strip_tags($savings_terms),
];
这会输出每个帖子的当前术语,当帖子没有指定术语时不会引发错误,这对我的情况最为有效。

SO网友:jaswrks

如前所述,您可以通过迭代每个术语来实现这一点,这些术语包括WP_Term 对象。每一个WP_Term 对象具有name 所有物所以你会这样做:

$terms = get_the_terms( $post->ID, \'cpt_saving-type\' );
$terms = is_array( $terms ) ? $terms : array();

foreach ( $terms as $term ) {
    echo $term->name.\'<br />\'; // Outputs each name.
}

结束

相关推荐

Taxonomy Relationships

我创建了两种分类法:制造车型这是针对CPT车辆的。不用说,品牌就是你的品牌(本田/丰田/福特等),然后你会根据品牌选择车型。如何设置Make和Model之间的关系?或者我在这方面完全错了吗?事实上,这应该是一个单一的分类法“Make&;型号\'?我不是在寻找:Vehicle CPT |-> Make |-> Model 我正在寻找:Vehicle CPT |-> Make |--> Model