Intereting Posts
the_post_thumbnail отзывчивый srcset, не заполняющий пользовательский размер изображения Удаление действия из wp_footer, вызванного в классе, который находится внутри более крупного класса Jigoshop – только отображение 10 продуктов Виджет боковой панели YouTube – недоступен сервис YouTube используя wp_get_attachment_image_src в цикле foreach pre_user_query meta_query список пользователей admin Хотите добавить другой текст после каждого пункта меню тройное падение для заполнения таможенных таксономий Как разбить цикл на два столбца Как обновить настраиваемое поле сообщений в определенной категории WP_Query с двумя типами сообщений, но требующий категорию только для одного из этих типов сообщений Ошибка при показе сообщений по конкретной таксономии Не удается вызвать внешнюю таблицу стилей для администратора WordPress (используя wp_admin_css)? Пользовательский запрос с несколькими значениями мета-ключа Как узнать и изменить имя машины в меню?

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

Я хочу скрыть свой пользовательский тип сообщения от результатов поиска. Итак, я выполнил код и использовал:

exclude_from_search => 'true' при регистрации моего настраиваемого типа сообщений.

Это скрывает пользовательский тип сообщения, и он больше не отображается в результатах поиска.

Но теперь я не могу загружать сообщения, используя get_posts но они выглядят отлично с WP_Query . Интересно, почему это происходит.

get_posts() использует WP_Query , поэтому вы, вероятно, предоставляете неправильные аргументы, стоит упомянуть, что функция имеет некоторые аргументы по умолчанию .

Это должно получить все сообщения CPT myCPT :

 $args = array( 'posts_per_page' => -1, 'post_type' => 'myCPT', 'post_status' => 'any', ); $posts_array = get_posts( $args ); ?> 

Можете ли вы попробовать этот код?

 function excludePages($query) { if ($query->is_search) { $query->set('post_type', 'post'); } return $query; } add_filter('pre_get_posts','excludePages');