WordPress基于ID循环奇数编号的帖子,然后甚至基于ID的帖子

时间:2014-05-07 15:49:03

标签: php wordpress

我需要只显示奇数编号的WordPress POST ID,然后只显示偶数编号的POST ID。

有没有办法修改我下面的当前代码,这样我就可以运行两个循环,只显示一个带有奇数ID的帖子和一个显示偶数ID的邮件?

<!-- loop posts -->
<?php $loop = new WP_Query(array('post_type' => 'post', 'posts_per_page' => -1, 'orderby'=> 'DESC'));

while ( $loop->have_posts() ) : $loop->the_post();

$postLink = get_post_meta($post->ID, "postLink", true);

$classes = array(
    'blogOverviewLoop',
    'col06',
    'darkGrey'
    );
?>

<div <?php post_class( $classes ); ?>>
    <article>
        <?php get_template_part( 'pf', get_post_format() ) ?>
    </article>
</div>
<?php endwhile; ?>
<?php wp_reset_query(); ?>

1 个答案:

答案 0 :(得分:0)

您应该可以使用get_posts

//Arguments
$args = array('post_type' => 'post', 'posts_per_page' => -1, 'orderby'=> 'DESC');
//Get posts with arguments
$getposts = get_posts($args);

//Initialize post values
$posta = array();
$postb = array();

//Set the counter to 1
$i=1;

//Loop as long as there are posts.
foreach ($getposts AS $post) {
    //Get an individual post and add it to individual buckets.
    if($i%2 == 1) {
        $posta[] = $post;
    } else {
        $postb[] = $post;
    }
}

现在postapostb分别包含奇数和偶数帖子。您可以根据自己的喜好循环播放。或者,您可以将数据附加到不同的存储区,而不是将它们分配给不同的变量数组。这将有助于避免第二次或第三次循环。

有关详细信息,请参阅Wordpress Codex Template Tags/get posts