WordPress-在查询中获取第4个帖子

时间:2019-06-11 20:51:22

标签: wordpress

我有一个像这样的wordpress查询:

<?php $recent = new WP_Query(array( 'tag' => $tags, 'posts_per_page' => '4' )); while($recent->have_posts()) : $recent->the_post(); ?>

哪个使用$ tags给了我最后4个帖子。 但是,关于如何编辑此代码以获取第四个帖子而不是第四个帖子的任何想法?

谢谢!

3 个答案:

答案 0 :(得分:2)

看看WP_Query Documentation。它详细介绍了如何与类进行正确的交互。

如果您要从第4条帖子开始查询 ,您需要查看offset parameter。在您的情况下,请看下面的代码(注意:为清楚起见,我将arguments数组移至了变量)

$recent_args = array(
    'tag'            => $tags,
    'posts_per_page' => 4, // Don't need quotes around integers
    'offset'         => 3, // Add this param to "Skip" this many posts
);

$recent = new WP_Query( $recent_args ); 

// Loop through your posts here

答案 1 :(得分:0)

如果您需要获得除第一(最新)帖子以外的所有帖子,则可以使用offset参数:

<?php $next_posts = new WP_Query( array( 
           'tag' => $tags, 
           'offset' => 4, 
      )
 ); 
 while($next_posts->have_posts()) : $next_posts->the_post(); ?>

对此有一个警告!如果您需要分页或将posts_per_page设置为-1,将无法使用。有关需要分页的更强大解决方案的更多信息,请查看WP文档:

https://codex.wordpress.org/Making_Custom_Queries_using_Offset_and_Pagination

答案 2 :(得分:0)

这是对我有用的代码:

<?php $recent = new WP_Query(array( 'tag' => $tags, 'posts_per_page' => '4', 'offset' => '3', )); while($recent->have_posts()) : $recent->the_post(); ?>

非常感谢@disinfor和@Xhynk带领我朝着正确的方向前进!