在查询循环中获取多个自定义分类术语名称 - Wordpress

问题描述

我的网站出现问题。 我想显示所有名为“Projets”的自定义帖子类型,对于每个项目,我想将多个术语名称放入我的数据元素中。

显示我的所有帖子不是问题,它运行良好。我设法使用“get_terms()”显示一个术语名称,但我不知道如何显示多个术语并将它们放在正确的位置。 我有 3 种不同的自定义分类法:城市、错别字和状态。

这是我的代码

 <?PHP
    $args = array(
        'post_type' => 'projets','posts_per_page'=>'99','order' => 'ASC',);

    $loop = new WP_Query( $args );

    while ( $loop->have_posts() ) : $loop->the_post();
?>

    <li class="content_item active" data-city="CITY_NAME_HERE" data-typo="TYPO_NAME_HERE" data-statut="STATUT_NAME_HERE">
    
        <a href="<?PHP the_permalink(); ?>">
            <?PHP the_post_thumbnail('custom-size',['class' => 'content_item_img','title' => 'Image du projet']); ?>
            <h4><?PHP the_title(); ?></h4>
        </a>
    </li>

<?PHP endwhile; 
wp_reset_postdata(); 
?>

感谢您的帮助!

解决方法

试试这个:

在循环内部,您会得到这样的分类法(例如“city”):

$cities = get_terms( array(
    'taxonomy' => 'city','hide_empty' => false,) );

您将获得一个包含分类器所有术语的数组。 需要它们的地方,你必须循环它们,在这里给你一个想法。

if(!empty($cities)){
    foreach($cities as $city){
        echo $city->name.',';
    }
}else{
    echo 'No Cities.';
}
,

逗号分隔循环内的自定义类别。

<?php echo get_the_term_list( $post->ID,'cutom_category','',','' ) ?>