posts_per_page никакой предел

Я хочу возвратить ВСЕ сообщения с query_posts. Я пытался установить posts_per_page к действительно высокому количеству, но query_posts волнуется и не возвращает сообщений. Что корректный путь состоит в том, чтобы запросить сообщения без предела?

$args = array(
    'post_type'      => 'post',
    'cat'            => '22,47,67',
    'orderby'        => 'name',
    'order'          => 'ASC',
    'hide_empty'     => 1,
    'depth'          => 1,
    'posts_per_page' => ?
    );
41
11.12.2011, 20:50
3 ответа

- 1 Ваш ответ! Искать posts_per_page здесь.

$args = array(
'post_type'      => 'post',
'cat'            => '22,47,67',
'orderby'        => 'name',
'order'          => 'ASC',
'hide_empty'     => 1,
'depth'          => 1,
'posts_per_page' => -1
);

Важный протест: Это может привести к очень огромному запросу, который может снизить сайт. Сделайте это, только если Вы уверены, что Ваша база данных может обработать его. Не в общедоступных темах или плагинах.

83
19.02.2020, 21:54
  • 1
    Важный протест: Это может привести к очень огромному запросу, который может снизить сайт. Сделайте это, только если Вы уверены, что Ваша база данных может обработать его. Не в общедоступных темах или плагинах. –  fuxia♦ 11.08.2016, 20:25
  • 2
    @toscho, Добавляющий Ваш комментарий как обновление ответа. –  Rutwick Gangurde 23.11.2016, 08:25
  • 3
    , который Вы спасаете моей жизни!! –  Darlan Dieterich 11.10.2019, 05:14
  • 4
    @DarlanDieterich, Довольный, я мог помочь! :) –  Rutwick Gangurde 14.10.2019, 10:19

Или альтернативно можно передать WP_Query(который является что query_posts использование) nopaging аргумент, который в основном делает то же самое..

$args = array(
    'nopaging' => true
    // Your other args, etc..
);

Это сделает точно то же, но если Вы должны оглянуться назад на него позже и не можете помнить то, что Вы делали, я лично чувствую, что Вам, будет более ясно, что это - Вы, предназначали с тем параметром в массиве args.

Как я упомянул однако, они оба на самом деле достигнут того же.

Не может повредить иметь больше чем один подход, и всегда хорошо совместно использовать то, что Вы знаете, удовлетворяете, чтобы сказать, что это - причина моего ответа, несмотря на Вас уже наличие достаточного..;)

24
19.02.2020, 21:54

Из Вашего дочернего файла функций тем:

add_action( 'pre_get_posts', 'wpsites_no_limit_posts' );

function wpsites_no_limit_posts( $query ) {

if( $query->is_main_query() && !is_admin() && is_home() ) {

$query->set( 'posts_per_page', '-1' );
$query->set( 'order', 'ASC' );
$query->set( 'post_type', 'post' );
$query->set( 'cat', '22,47,67' );
$query->set( 'orderby', 'name' );
$query->set( 'order', 'ASC' );
$query->set( 'hide_empty', '1' );
$query->set( 'depth', '1' );

    }

}
5
19.02.2020, 21:54

Теги

Похожие вопросы