我有 2 个循环。在第一个循环中,显示了 3 个最近的置顶帖子。在第二个帖子中显示了所有帖子(粘性和非粘性)。现在我想在第二个循环中删除 3 个最近的置顶帖子。
我尝试了类似的方法,但它从两个循环中删除了所有粘性帖子,而不是从 loop2 中删除了一些粘性帖子。// 编辑:我的两个循环的代码:
<?php
$sticky = get_option('sticky_posts'); // Get all sticky posts.
rsort($sticky); // Sort sticky posts in reverse order.
$sticky = array_slice($sticky, 0, 3); // Number of sticky posts to show.
$latestStickyPosts = $sticky;
$loop1query = new WP_Query(array('post__in' => $sticky, 'ignore_sticky_posts' => 1));
// START 1ST LOOP.
while ($loop1query->have_posts()) : $loop1query->the_post();
$do_not_duplicate[] = $post->ID; // global. ?>
<div> ... </div>
<?php endwhile;
// END 1ST LOOP.
$showposts = 5; // Show posts per page.
$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
$args = array('category__in' => $cat, 'showposts' => $showposts, 'paged' => $paged);
$loop2query = new WP_Query($args);
// START 2ND LOOP.
query_posts($args); if(have_posts()) : while (have_posts()) : the_post();
if( in_array($post->ID, $latestStickyPosts ) continue; ?>
<div> ... </div>
<?php endwhile; endif;
// END 2ND LOOP. ?>
我不在乎帖子在后端是否真的不粘。它们应该以这种方式显示:loop1 = 3 最近的便笺。loop2 = 其余的置顶帖和所有非置顶帖
感谢您的任何帮助或建议!