dan
  • 0
Новичок

Разные результаты с query(‘s=computer’) и get_posts(‘s=computer’)?

  • 0

У меня есть два разных фрагмента кода, и он возвращает два разных результата.

$search_query = new WP_Query();
$search_posts = $search_query->query('s=computer'); 
echo count($search_posts);

против.

$search_posts = get_posts('s=computer');
echo count($search_posts);

В чем причина разных значений?

(Значение, предоставленное первым, является правильным. Оно совпадает с количеством сообщений, которые я получаю при обычном поиске в WP. Но первый фрагмент кода не будет работать внутри php-файла плагина, он будет работать только в шаблоне)

Спасибо.

Share
  1. Аргументы по умолчанию для get_posts() функции включают 'numberposts' => 5 .

    Таким образом, если вы запрашиваете условие поиска, которое возвращает более пяти (5) результатов, второй запрос вернет максимальное значение, 5 если вы не передадите его 's=computer&numberposts=-1' в качестве строки запроса.

    Объект WP_Query не имеет значения по 'numberposts' умолчанию, хотя на него влияет счетчик «Максимум отображаемых страниц блога» на панели настроек. Поэтому, если вы хотите получить общее количество с помощью query() функции, вы должны переопределить значения по умолчанию следующим образом:

    $search_query->query('s=computer&nopaging=true')
    
    • 0

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

You must login to add an answer.