我正在尝试显示特定自定义帖子类型的所有记录,我希望在下拉列表中列出所有分类法。
以下是对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; ?>
最合适的回答,由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\'
.