我需要只显示奇数编号的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(); ?>
答案 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;
}
}
现在posta
和postb
分别包含奇数和偶数帖子。您可以根据自己的喜好循环播放。或者,您可以将数据附加到不同的存储区,而不是将它们分配给不同的变量数组。这将有助于避免第二次或第三次循环。
有关详细信息,请参阅Wordpress Codex Template Tags/get posts。