Не уверен, как этого добиться. Я пытаюсь смешать стандартные сообщения и пользовательские сообщения на главной странице сайта, но я хочу отображать пользовательские сообщения, только если задано мета-значение. Отображение сообщений работает нормально, 'post_type' => array('game', 'post')
но когда я добавляю в meta_query, обычные сообщения больше не отображаются (что имеет смысл, поскольку они не соответствуют условию meta_query).
Итак, как мне ограничить meta_query только пользовательским типом записи, чтобы обычное сообщение все равно было включено?
WP_Query
. Вам нужно будет либоpre_get_posts
изменить свой запрос, либо использовать собственный оператор SQL. В любом случае, пожалуйста, покажите свой текущий код.Ответы:
Есть разные способы сделать трюк, 2 приходит мне на ум:
$wpdb
запросWP_Query
с фильтрами, используяWP_Meta_Query
для создания дополнительных SQLЯ выложу здесь пример кода для случая № 2
Смотрите встроенные комментарии для дальнейшего объяснения.
Также посмотрите WP_Meta_Query в Кодексе для получения полной документации о том, как установить ваши аргументы мета-запроса.
редактировать
Я рефакторил код в плагине многократного использования, используя класс. Доступно как Gist .
источник