X
  • Дизайн та розробка сайту
  • Дизайн і створення сайтів. Розробка тем для WordPress. Створення Landing Page.
  • office@gnatkovsky.com.ua
  • @vgnat
  • Написати мені
Замовити послугу

WP_Query выводит больше записей, чем указанно в параметре posts_per_page

Приклад
  • 2024-04-19
  • 3498 переглядів

  • Дизайн та розробка сайту

WP_Query выводит больше записей, чем указанно в параметре posts_per_page
Доброго времени суток. 🙂

Эта запись из разряда - решение проблем при работе с WordPress. Недавно столкнулся с таким интересным моментом. Суть проблемы была в том, что при выводе цикла записей с помощью WP_Query, был указан параметр - posts_per_page и его значение было равно 5. Это означает, что цикл выведет 5 записей, но вместо этого выводилось 6, то есть на одну больше.

WP_Query выводит больше записей, чем указанно в параметре posts_per_page

Сначала я думал, что где-то допущена ошибка, или я что-то напутал и работаю не с тем файлом или типа того. Но проверив все 10 раз я понял, что все же причина зарыта не в ошибке, а в чем то другом. Потратив немного времени причина была найдена.

Суть проблемы - Закрепленные записи. На локальном сервере, где я проводил работу в WordPress была одна закрепленная запись, как раз ее и добавляло к циклу WP_Query. Проблему можно решить несколькими путями:

  1. Если вам не нужны закрепленные записи, то просто открепите их и все.
  2. Если закрепленные записи все же нужны, то нужно для WP_Query добавить еще один параметр - ignore_sticky_posts=true

ignore_sticky_posts - игнорировать (true) прилепленные посты или нет (false).

Благодаря второму способу, вы получите корректную работу WP_Query и лишних записей не будет выводится в заданном списке. Мне повезло найти причину быстро, надеюсь, вам поможет если вы попали на эту статью.

На этом все, спасибо за внимание. 🙂

Якщо Вам була корисна моя праця, можете фінансово підтримати сайт або відключити блокувальник реклами, що займе 2 хвилини :)

Хочу підтримати фінансово Хочу відключити блокувальник

Оцініть статтю
  1. 5
  2. 4
  3. 3
  4. 2
  5. 1
Проголосовало: 4, в среднем: 5 из 5
Читайте також