Intereting Posts
Скрыть пользовательские поля на основе возможностей Можно ли удалить главный редактор текстовых полей? Пространство добавляется в url, созданный пользовательским плагином Получить категорию и выдержку из wp_get_recent_posts Использование вкладок Foundation Zurb в качестве WordPress Nav (активная вкладка) WP Query с несколькими категориями – передача массива работает? Тэг заголовка SEO и мета-описание для пользовательской таксономии Удалить 'wp-content / themes / themename /' из пути к изображению Unrendered content Cornerstone через REST API Запросить сведения о FTP, даже если FS_DIRECT установлен в true Файлы WordPress Core не игнорируются Git Структура пользовательского типа сообщений для сообщений с несколькими дочерними сообщениями JavaScript и Google PageSpeed ​​+ wp_enqueue_script Огромное количество 404 страниц, которые появляются Формат даты и времени для Великобритании в настраиваемом типе сообщений

Meta Query возвращает неверное количество сообщений

Я использую этот мета-запрос внутри категории:

$args = array( "posts_per_page" => 12, "post_type" => array( "event", "post" ), "post_status" => "publish", "category" => $tid, 'meta_query' => array( 'relation' => 'OR', array( 'key' => 'event_start', 'value' => date("Ymd H:i:s"), 'compare' => '>=', 'type' => 'DATE' ), array( 'key' => 'event_start', 'compare' => 'NOT EXISTS' ) ), array( 'key' => '_thumbnail_id', 'compare' => 'EXISTS' ), array( 'key' => 'foreign_language', 'value' => 0 ) ); $posts = get_posts( $args ); 

Он должен вернуть 12 сообщений, но вернуться только 11. Если я устанавливаю posts_per_page в 13, он возвращает 12.

В чем может быть проблема?

Solutions Collecting From Web of "Meta Query возвращает неверное количество сообщений"

$posts – это зарезервированные глобальные переменные, которые сохраняют значение из свойства $posts из основного запроса. Используя $posts в качестве локальной переменной, вы нарушаете основной запрос и глобальную переменную $posts . Это приводит к неожиданному выводу.

Вы должны использовать уникальные пользовательские переменные в качестве локальных переменных. Вы можете решить свою проблему, изменив

 $posts = get_posts( $args ); 

к чему-то вроде

 $posts_array = get_posts( $args );