如何在WordPress中确定返回帖子的类别名称


How to determine category name of returned Posts in WordPress

我想做的是找出帖子返回时的类别,以便我可以将它们放在特定的div中。

例如,我有#div1 #div2#div3,我有 3 个帖子返回,每个帖子都有不同的类别。

我想做的是在一个div中各有 1 个帖子. 为此,我需要确定类别。

这是我按类别获取帖子

的方式,但我如何获取 3 个类别的帖子并确定返回的帖子的类别,以便我可以更改div id?

<?php
//gallery
$args = array( 'category_name' => 'Clubs');
$postslist = get_posts( $args );
foreach ( $postslist as $post ) :
setup_postdata( $post );
?>
<div id="div1">
<?php the_content(); ?>   
</div>
<?php
endforeach; 
wp_reset_postdata();
?>

显然,我可以复制此代码两次,然后更改类别和div 名称,但这是正确的方法吗?

为了避免复制粘贴,我建议将代码放在一个函数中,该函数将要更改的部分作为参数。 像这样的东西(我添加了 posts_per_page 参数,因为你说你只需要每个div 一个帖子):

<?php
function show_gallery($category, $id) {
    $args = array( 'category_name' => $category, 'posts_per_page' => 1);
    $postslist = get_posts( $args );
    foreach ( $postslist as $post ) :
    setup_postdata( $post );
    ?>
    <div id="div<?php echo $id; ?>">
        <?php the_content(); ?>   
    </div>
    <?php
    endforeach; 
    wp_reset_postdata();
}
show_gallery('Clubs', 1);
show_gallery('Hearts', 2);
show_gallery('Diamonds', 3);
?>

我还没有测试过,但希望它有效并且足以让您入门。

我将函数声明放在模板的顶部。