0

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

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

我想要做的是每个帖子都有 1 个div。为此,我需要确定类别。

这是我如何按类别获取帖子但我如何获取 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 名称,但这是正确的方法吗?

4

1 回答 1

0

为避免复制粘贴,我建议将您的代码放在一个函数中,该函数将您要更改的部分作为参数。像这样的东西(我添加了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);
?>

我还没有测试过,但希望它可以工作并且足以让你开始。

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

于 2013-10-13T14:34:12.077 回答