这个我差不多做完了,只剩下一个小问题。希望你能帮助我。
我有两个非常简单的自定义循环。一个用于粘性贴子,一个用于非粘性贴子。我已经设法使粘性帖子只显示在第1页上,而不显示在其余页面上(使用分页时),这正是我想要的。问题是:如果我将posts\\u per\\u page设置为8,并且数据库中有1篇粘性文章,那么第一页上会有9篇文章,其余页面上会有8篇文章。
我已在循环之间使用此脚本成功更改了posts\\u per\\u page值:
$postcount = $wp_query->post_count;
$postnumber = 8;
if ( $paged != True ){ $postnumber = $postnumber - $postcount; }
这几乎奏效了。如果我在第一页上有1篇粘性文章和15-9篇文章,然后单击“下一步”按钮,WP将跳过第#8篇文章,只在下一页显示7-1篇文章。这是我的代码:
<!-- Sticky -->
<?php if ( $paged != True ): ?>
<?php $wp_query = new WP_Query(array(\'post__in\' => get_option(\'sticky_posts\'), \'category_name\' => Work)); ?>
<?php while ($wp_query->have_posts()) : $wp_query->the_post(); ?>
<?php get_template_part( \'loop\', \'index\' ); ?>
<?php endwhile; ?>
<?php wp_reset_postdata(); // reset the query ?>
<?php endif ?>
<?php
$postcount = $wp_query->post_count;
$postnumber = 8;
if ( $paged != True ){ $postnumber = $postnumber - $postcount; }
?>
<!-- Non-Sticky -->
<?php $wp_query = new WP_Query(array(\'post__not_in\' => get_option(\'sticky_posts\'), \'category_name\' => Work, \'posts_per_page\' => $postnumber, \'paged\' => $paged)); ?>
<?php while ($wp_query->have_posts()) : $wp_query->the_post(); ?>
<?php get_template_part( \'loop\', \'index\' ); ?>
<?php endwhile; ?>
<?php wp_reset_postdata(); // reset the query ?>