Intereting Posts
Если пользовательский тип сообщения Как я могу показать выдержки из отрывков на странице тегов? Multisite – большой пакет хостинга или несколько пакетов хостинга? API настроек с пользовательским ограничением меню типа сообщения Разрешить пользователю публиковать, но не редактировать или удалять Как получить все сообщения с любым статусом сообщения? Пользовательские теги типа сообщения не отображаются в поиске Как запрашивать сообщения (в иерархическом пользовательском типе сообщений), в которых есть дети? Проблема с get_posts, tax_query и подсчет количества сообщений Как определить, была ли запущена функция на любой странице, чтобы сценарии / стили могли быть загружены условно Выполнение цикла с несколькими DBs одновременным Как захватить все типы приложений, но изображений? Получение предупреждения: Отсутствует аргумент 2 для manage_posts_custom_column ()? Измените запрос WP Query post__in до того, как has_posts () Добавление данных в массив в usermeta и отображение его в цикле

Как вызывать сообщения под определенной категорией на статической странице?

введите описание изображения здесь

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

Какие-либо предложения.

  1. я могу показать содержимое из функции.php или
  2. какой файл отвечает за статическую переднюю страницу. Я использую настраиваемую тему.

Solutions Collecting From Web of "Как вызывать сообщения под определенной категорией на статической странице?"

WordPress по умолчанию будет искать front-page.php как пользовательскую домашнюю страницу. Для дальнейшего использования вам нужно будет пометить страницу иерархии тем WordPress . Он включает в себя блок-схему тех файлов, которые WordPress будет искать по порядку.

В коде вашего файла front-page.php или include, который вы можете условно вызывать на page.php , вы захотите вставить цикл с пользовательским запросом, используя класс WP_Query . Скажите, какую категорию вы хотите получить, news :

 $args = array ( 'cat_name' => 'news' ); $front_page_query = new WP_Query( $args ); 

Что этот код будет делать, так это запросить базу данных WordPress и захватить все сообщения, которые классифицируются по news . Вы можете сделать это, используя идентификатор категории, но slug, вероятно, лучший способ IMO, потому что он не требует постоянного поиска идентификаторов в таблице и более значим, если кто-то еще работает с этим кодом.

Оттуда вы просто используете цикл, как и любую другую страницу с одним добавлением. Поскольку вы использовали пользовательский запрос, вы изменили глобальную переменную $post по умолчанию, поэтому вам нужно будет ее сбросить. Это выполняется с помощью функции wp_reset_postdata() непосредственно перед else в инструкции if/then . Итак, ваша петля будет выглядеть так …

 <?php if ( $front_page_query->have_posts() ) : ?> <?php while ( $front_page_query->have_posts() ) : $front_page_query->the_post(); ?> // Code for displaying the post <?php endwhile; ?> <?php wp_reset_postdata(); ?> <?php else: ?> // No Posts Found Code <?php endif; ?> 

Вы можете добавить другие аргументы, чтобы уточнить свой запрос, например, ограничить количество сообщений, которые он возвращает, пропустить любые защищенные паролем сообщения и т. Д. Просто добавьте их в массив $args .