将所有类别显示为纯文本

时间:2012-11-16 作者:egr103

在我的循环中,我当前正在输出一个类别,一篇文章被指定为纯文本。它被用作我的标记中的类名(用户看不到),但如果一篇文章被分配了多个类别,我下面的代码只输出一个类别,我如何让所有类别(文章分配给它的类别)显示为类名?

<?php //begin new query
                $project_query = new WP_Query(\'cat=14,15,16,17,18,19\');?>

                <?php while ($project_query->have_posts()) : $project_query->the_post(); $do_not_duplicate = $post->ID; ?>

                    <!-- I NEED CATEGORY NAMES TO APEEAR AS CLASS NAME ON THIS LINE BELOW -->                   
                    <div class="element <?php $category = get_the_category(); echo $category[0]->category_nicename; ?> sports">
                        <div class="element_inner">
                            <a href="<?php the_permalink(); ?>" title="<?php the_title(); ?>">

                                <img src="<?php the_field(\'leading_image\') ?>" />
                                <div class="meta"><?php the_title(); ?></div>

                            </a>
                        </div>
                        <div class="four-col-shadow"></div>
                    </div>

                <?php endwhile; wp_reset_query(); ?>

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

这是所有分类法的通用解决方案。在回路内部使用(否则更换get_the_ID() 带有post ID):

$taxonomy = \'category\';
$terms = get_the_terms( get_the_ID(), $taxonomy );
if( $terms ){
   $term_slugs = array_map(\'esc_attr\',wp_list_pluck( $terms, \'slug\'));
   $class = implode(\' \', $term_slugs);
}else{
   $class = \'no-term\';
}

结束

相关推荐

获取最新创建的自定义类别(GET_TERM_BY和变量)(Out Loop)

我想知道为什么下面的代码不能工作?我的情况:我设置了一个名为“问题”的自定义类别。我想做的是获取最新创建的类别(即“第2卷第1期”)并获取其ID,以便运行plugin 作用z_taxonomy_image_url($currentID); 它根据以下项标识的类别输出URL:$currentID目前我有一个非常黑客的解决方案,但如果有人能找出下面代码的最后3行为什么不起作用,那就太棒了。我们也希望有替代和更清洁的解决方案。$taxonomy=wp_list_categories(\'taxonomy=iss