Intereting Posts
Вставить WordPress Admin в iframe Как защитить пароль страницы сообщений в WordPress? Получить комментарий id отдельных комментариев в списке комментариев при изменении комментария, опубликованного с использованием текстового фильтра комментариев Изображения ACF Если / else Возвращаемый пользователь Мета текст в качестве ссылок на редактирование сообщений внутри столбцов пользователя как программно обновлять сериализованные параметры? Максимальное количество сообщений на странице, прежде чем повлиять на производительность? Не удалось создать пользовательский тип сообщения. Страница не найдена Плагин расширенных настраиваемых полей – конфликт с настраиваемым типом почтового типа Разбиение на страницы для сообщений внутри определенной категории Как перенести сообщения из старого пользовательского старого блога на новый веб-сайт WordPress? Добавьте атрибут ALT к изображению кнопки Pin It, чтобы передать проверку HTML5 Можно ли удалить фактические страницы в WordPress, но сохранить их в категориях Расширение WP_Widget вызывает ошибку при использовании виджета Monster Как получить SQL изменений, внесенных в базу данных, из обновления или обновления?

Отображение сообщений из разных категорий и из пользовательского типа сообщений

На моей главной странице я хочу показывать сообщения из 3 категорий и 1 пользовательский тип сообщения.

Есть ли способ объединить их в одну функцию pre_get_posts ? Или мне нужно запросить отдельно – один раз для CPT и один раз для сообщений из определенных категорий?

Если вы отправили сообщение из категории a, один из категории b, другую категорию категории c, а затем, наконец, пользовательский тип сообщения – каждый из них должен был быть отдельным запросом.

Подумайте об этом как о «вторичных запросах» – (первичный запрос – это то, что приземляется на домашней странице). Поэтому вам WP_Query отдельные экземпляры WP_Query (см. Этот связанный пост ).

Например

 $post_from_cat_a = new WP_Query(array( 'category__name' => array('a'), 'posts_per_page'=> 1 )); if( $post_from_cat_a->have_posts() ){ while( $post_from_cat_a->have_posts() ): $post_from_cat_a->the_post(); //Display output here endwhile; } $post_from_cat_b = new WP_Query(array( 'category__name' => array('b'), 'posts_per_page'=> 1 )); if( $post_from_cat_b->have_posts() ){ ... ... 

и т. д. Не забудьте вызвать wp_reset_postdata(); в конце.