Get post categories

时间:2019-06-06 作者:Thessa Verbruggen

我想根据帖子类别做一个过滤器。我试图在数据类别属性中添加类别名称,但似乎不起作用。这就是我所尝试的:

<article id="post-<?php the_ID(); ?>" <?php post_class(); ?> data-category="<?php $category_detail=get_the_category(); foreach($category_detail as $cd){ $cd->cat_name;}?>">
    <header class="entry-header">
        <?php
        if ( is_singular() ) {
            the_title( \'<h1 class="entry-title">\', \'</h1>\' );
        }
        else {
            the_title( \'<h2 class="entry-title"><a href="\' . esc_url( get_permalink() ) . \'" rel="bookmark">\', \'</a></h2>\' );
        }

        if ( \'post\' === get_post_type() ) {
            ?>
            <div class="entry-meta">
                <?php dfib_theme_entry_meta(); ?>
            </div>
        <?php } ?>
    </header>
    <?php dfib_theme_post_thumbnail(); ?>
        <div class="entry-content">             
            <?php 
                the_excerpt();

            wp_link_pages( array(
                \'before\' => \'<div class="page-links">\' . esc_html__( \'Pages:\', \'dfib-theme\' ),
                \'after\'  => \'</div>\',
            ) );
            ?>
        </div>
    <footer class="entry-footer">
        <a href="<?php the_permalink(); ?>" class="btn">Meer info</a>
    </footer>
</article>
我做错了什么?

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

你需要echo 用PHP返回结果。

foreach($category_detail as $cd){ echo $cd->cat_name; }
此外,您可能需要考虑在每个类别之间添加一些内容。如果您有蓝色、红色、绿色等类别/术语。然后,您当前如何在其上循环,它将打印回:

data-category="BlueRedGreen"
希望有帮助!!