Wp_query中的WordPress个人类别名称

时间:2017-03-27 14:34:39

标签: php wordpress foreach categories

使用以下wp_query从三个不同类别中提取最新帖子。作为其中的一部分,我想显示适合每篇文章的类别名称,the_category();确实达到了这一类别,但它会在名称周围放置<a><li>标记。我想简单地得到该类别的名称?

<?php
$categories = get_categories();
foreach ($categories as $category)
{

}
$args = array(
    'cat' => 'article,fitness,recipe',
    'posts_per_page' => '3',
);

$query = new WP_Query($args);

if ($query->have_posts())
{

    ?>
    <?php
    while ($query->have_posts())
    {
        $query->the_post();
        ?>
        <article id="post-<?php the_ID(); ?>" class="col">
            <h5><?php echo the_category(); ?></h5>
        </article>

    <?php } // end while  ?> 
<?php
} // end if
wp_reset_postdata();
?>

1 个答案:

答案 0 :(得分:1)

  

您可以使用get_the_category()获取与之关联的类别   那篇文章。

替换此

<article id="post-<?php the_ID(); ?>" class="col">
    <h5><?php echo the_category(); ?></h5>
</article>

用这个

<article id="post-<?php the_ID(); ?>" class="col">
    <?php
    $category_detail = get_the_category(get_the_ID());
    $cat_arr = [];
    foreach ($category_detail as $cd)
    {
        $cat_arr[] = $cd->cat_name;
    }
    ?>
    <h5><?= !empty($cat_arr) ? implode(', ', $cat_arr) : 'N/A'; ?></h5>
</article>

FYI:the_category()回显包含它自己,所以你不需要回应它。

希望这有帮助!