brett
  • 0
Новичок

Как ограничить сообщения

  • 0

У меня новый вопрос, как я могу ограничить количество сообщений, выходящих из этого запроса? мне нужно только 7

<?php
$newsposts = new WP_Query('cat=restaurant');
if ( is_front_page()) { 
    echo '<h3 class="member-review">Latest Restaurants</h3>
    <div id="extra">';
    if ($newsposts->have_posts()) : while ($newsposts->have_posts()) : $newsposts->the_post();
        echo '<div class="reslogo"><img src="'.catch_that_image().'"/></div>';
    endwhile; endif; 
    echo '</div>';    
} 
?>

Я пытался поставить: ('cat=restaurants'.'limit=7') но она не работает. Как я ошибся? любая помощь будет оценена

Share
  1. Так должно быть:

    $newsposts = new WP_Query('cat=restaurant&posts_per_page=7');
    

    Другой способ написать это (помогает удобочитаемости с большими запросами):

    $newsposts = new WP_Query(array(
        'cat' => 'restaurant',
        'posts_per_page' => 7,
    ));
    

    Описание доступных параметров см WP_Query . в Кодексе.

    PS было бы неплохо добавить wp_reset_postdata() в конце. Вы (правильно) не изменяете основной запрос, но вы меняете глобальную $post переменную в этом цикле.

    • 0
    • Привет, Рарст, спасибо за помощь. Это имеет смысл — поэтому, добавляя амперсанд, я могу добавить больше условий. Я также теперь лучше понимаю пару ключ-значение массива. Я добавил ваш wp_reset_postdata() и буду делать это в будущем. Потрясающий!

      • 0
  2. Это то, что работает для меня (демонстрационные посты):

    $query = new WP_Query(array(
            'showposts' => 4, 
            'post_type' => 'xxx',
            'cache_results' => false
        ));
    
    • 0
  3. Я думаю, что у вас здесь небольшая ошибка, параметр «кошка» принимает только идентификатор сообщения как целое число.

    Источник: WP_Query параметры

    • 0

Оставить ответ

You must login to add an answer.