我正在使用Javascript过滤器,根据类别显示和隐藏自定义帖子类型的列表(循环)。
我试图将类别slug添加为类。但我只想显示分配给特定循环项的类别。每个项目可以有多个类别。
我已经这样做了,但它会在每个循环中转储所有类别,而不是专门针对该循环项的类别。
<?php
$pageID = get_the_ID();
$loop = new WP_Query(array('post_type' => 'casestudies', 'posts_per_page' => -1));
$taxonomy = 'custom_casestudies';
$terms = get_terms($taxonomy);
while ($loop->have_posts()) : $loop->the_post();
?>
<div class="block-wrap mix <?php foreach ($terms as $term) echo ' ' . $term->slug; ?>">
// loop content
</div>
<?php endwhile; wp_reset_postdata(); ?>
答案 0 :(得分:1)
get_terms返回给定分类中的所有术语。在这种情况下,您应该使用wp_get_post_terms,它返回给定帖子的术语列表。 documentation详细介绍。
答案 1 :(得分:1)
如果这对其他人有帮助,并且感谢Matt(他的回答)这是有效的。
<?php
global $post;
$loop = new WP_Query(array('post_type' => 'casestudies', 'posts_per_page' => -1));
while ($loop->have_posts()) : $loop->the_post();
$terms = wp_get_post_terms($post->ID, 'custom_casestudies');
?>
<div class="block-wrap mix<?php foreach ($terms as $term) echo ' ' . $term->slug ?>">
// content
</div>
<?php endwhile; wp_reset_postdata(); ?>
条款必须在while
循环之后。