Wordpress - получить 4-й пост в запросе - PullRequest
0 голосов
/ 11 июня 2019

У меня есть запрос WordPress, как это:

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

, который дает мне последние 4 сообщения, используя теги $.Но есть идеи, как мне отредактировать этот код, чтобы получить не первые четыре сообщения, а четвертое?

Спасибо!

Ответы [ 3 ]

2 голосов
/ 12 июня 2019

Взгляните на документацию WP_Query . Подробно рассказывается, как правильно взаимодействовать с классом.

Если вы хотите запросить ваши сообщения начиная с из 4-го сообщения, вам нужно взглянуть на offset параметр . В вашем случае взгляните на код ниже (Примечание: я переместил массив 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
0 голосов
/ 12 июня 2019

Итак, вот код, который работал для меня:

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

Большое спасибо @disinfor & @Xhynk за то, что они привели меня в правильном направлении!

0 голосов
/ 12 июня 2019

Если вам нужно получить все сообщения, кроме первых (новых), вы можете использовать аргумент 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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...