如何在自定义POST类型循环中显示所有分类

时间:2019-11-21 作者:user10980228

我正在尝试显示特定自定义帖子类型的所有记录,我希望在下拉列表中列出所有分类法。

以下是对CPT的查询:

<?php 
        $articles = new WP_Query(array(
        \'posts_per_page\' => -1,
        \'post_type\' => \'stories\',
      ));
?>
以及获取条款

<?php
$terms = get_terms( array(
    \'taxonomy\' => \'topic\',
    \'hide_empty\' => false,
) );
?>
然后循环

<?php if ($articles->have_posts() ):
while ($articles->have_posts() ): $articles->the_post();
?>
// this is where I want to echo all taxonomy names
 <div class="masonry__item col-lg-3 col-md-6" data-masonry-filter="<?php //echo tax names here ?>">

<?php endwhile; ?>
 <?php wp_reset_postdata(); ?>
<?php endif; ?>

1 个回复
最合适的回答,由SO网友:Sally CJ 整理而成

我在回答<?php //echo tax names here ?>:

在循环中,您可以使用wp_get_post_terms():

while ($articles->have_posts() ): $articles->the_post();
  $terms = wp_get_post_terms( get_the_ID(), \'topic\', [ \'fields\' => \'names\' ] );
echo implode( \' \', $terms ); 内部<div> 标签:

<div class="masonry__item col-lg-3 col-md-6"
  data-masonry-filter="<?php echo implode( \' \', $terms ); ?>">
但是您确定要使用术语“名称”而不是“鼻涕虫”吗?

如果你想用slug这个词,那么你可以用\'fields\' => \'id=>slug\' 而不是\'fields\' => \'names\'.

相关推荐

使用新的WP-Query()从循环中过滤后期格式;

嗨,我目前正在为我的博客构建一个主题。下面的代码指向最新的帖子(特色帖子)。因为这将有一个不同的风格比所有其他职位。然而我想过滤掉帖子格式:链接使用我在循环中定义的WP查询,因为它给我带来了更多的灵活性。我该怎么做呢? <?php $featured = new WP_Query(); $featured->query(\'showposts=1\'); ?> <?php while ($featured->have_post