Intereting Posts
Пользовательский URL-адрес регистрации теряется, когда пользователь делает ошибку регистрации Как получить таксономические условия по ID в определенном порядке как сравнивать разные временные метки в wp-запросе для пользовательских типов сообщений событий? Multisite vs Single site – сравнение скорости / производительности Пользовательский пул сообщений типа как slug страницы Как я могу увидеть ошибку, вызванную активацией плагина? Как добавить страницу пользовательских подробностей для подписчика в панели администратора Все URL-адреса перенаправляются на главную страницу get_the_title выводит название до промежутка; он не получает полную длину названия Попытка добавить скрипт к определенной странице администратора не работает WordPress отказывается отправлять почту, «… ваш хост может отключить функцию mail () Есть ли PressThis, который не поддерживает хотлинк? Индивидуальная разбивка по страницам 404 сделать разбивку на страницы, показывающие записи по дате Совместное использование шаблонов с помощью API JSON?

Исключить текущую запись из массива сообщений?

Я пытаюсь исключить текущую запись из массива, и я знаю, что в кодексе сказано, что невозможно совместить post__in и post__not_in в одном запросе …

Но в wordpress все (ну, почти …) возможно, и я знаю, что это должен быть способ исключить текущую запись из моего массива сообщений.

Если я не могу использовать вместе, как я могу исключить текущую запись из массива? Любые намеки приветствуются.

Это мой текущий запрос:

$this_post = $post->ID; $args = array('post__in' => array(17,111,108,158), 'post__not_in' => array($this_post)); $posts = new WP_Query($args); 

Solutions Collecting From Web of "Исключить текущую запись из массива сообщений?"

Используйте array_diff() чтобы удалить текущий идентификатор сообщения из массива других идентификаторов сообщений.

 $include = array( 17, 111, 108, 158); $include = array_diff( $include, array( $post->ID ) ); $args = array( 'post__in' => $include ); $posts = new WP_Query( $args ); 

Изменить, чтобы включить точку, поднятую Pieter Goosen – Если $include не является жестко запрограммированным массивом идентификаторов, а чем-то, что поступает из базы данных, вы должны убедиться, что оно не empty() перед выполнением запроса. Передача пустого массива в 'post__in' получит нефильтрованный список сообщений, а не возврат сообщений, как вы могли бы ожидать.