Intereting Posts
Разрешения для файлов темы / плагинов Неверный текущий класс в меню администратора с помощью add_submenu_page () Использование get_posts с аргументами, найденными в мета-ключах Попытка получить свойство не-объекта в shortocde Admin: очень медленная страница редактирования, вызванная мета-запросом ядра Как я могу контролировать, что / сколько текста в моих RSS-каналах? В настоящее время с помощью query_posts () в моей теме – вместо этого нужно использовать фильтр запросов кухонная раковина не работает Создание цикла «posts page» на основе самой страницы Основной цикл не начинается с пользовательской страницы шаблона блога Правильный способ использования get_the_content () в front-page.php и content-home.php? Показывает предупреждение при включении плагина «wp_gallery_custom_links» с помощью Themify Builder Пользовательская ссылка для комментариев Показать 10 последних сообщений от пользователей с ролью участников Если хакер заглянул во все php-файл, может ли он навредить мне?

get_posts – выясните, была ли querystring испорчена и используется резерв

Если мы передадим String таким функциям, как get_posts , и эта строка не является значимой кнопкой (для примера get_posts ('')), функция возвращает результаты запроса по умолчанию (последние пять сообщений или такие). Можно ли либо подавить это поведение, либо, что еще лучше, выяснить, была ли строка значащей инициализацией или если функция просто вернулась к умолчанию, значит, это не так?

Изменение настроек запроса по умолчанию не является решением, потому что я не хочу влиять на основной цикл, но только вызов функции get_posts в плагине.

Solutions Collecting From Web of "get_posts – выясните, была ли querystring испорчена и используется резерв"

Если вы посмотрите, как работает запрос , это не случай …

  1. Проверьте, не возвращаются ли возвращенные условия запроса
  2. Else запускает резервный запрос

Случается, что ваши условия объединены с определенными значениями по умолчанию с помощью очень сложной последовательности условных выражений. В конце этого у вас есть SQL который запускается для получения ваших сообщений. Система не проверяет, являются ли ваши условия «дерьмом», а затем решили использовать их или нет. Эти условия просто объединяются в запрос таким образом, который генерирует действительный SQL . Я не уверен, как запрос будет знать, что есть и не является «хреном» в любом случае.

Единственное, что я могу придумать, – это подключиться к pre_get_posts и проверить vars запросов в соответствии с определенным набором условий, которые вы определяете, чтобы определить «дерьмо» или «не дерьмо».

Что касается конкретного примера, который вы предоставляете, get_posts намеренно записывается для получения последнего сообщения, если не передано никаких аргументов .

new WP_Query('') , кстати, ничего не вернет, но по существу я согласен с предложением @ toscho в комментарии – передать санированную строку. Знайте, что вы отправляете в функцию перед отправкой. Если строка пуста или не удовлетворяет каким-либо другим требованиям, вообще не get_posts функцию get_posts .