Intereting Posts
Как показать последнюю страницу вместо публикации? Разрешить роль редактора для редактирования медиа как отображать уведомления в меню WordPress, когда публикуется новое сообщение показать изображение в большом размере с помощью fancybox Цена НДС на переменную продукцию в Woocommerce Сохраняйте данные в формате HTML для публикации мета с помощью add_post_meta () Показать сообщение через шаблон Исключить случайное перенаправление из кеширования? Как автоматически загружать / прикреплять статическое изображение google в качестве отображаемого изображения сообщения? the_post_thumbnail возвращает полноразмерное изображение, как отлаживать? Плагины не отображаются после переименования плагинов Перенаправить 404 страницы для последней страницы разбиения на страницы категорий и тегов? Где шаблон cart.php вызывается в шаблоне woocommerce? Поиск темы для показа непрочитанных / обновленных сообщений с момента последнего посещения или подобного Функции работают вне цикла с переопределением 404

назначать разные шаблоны настраиваемому типу post с домашней петлей

У меня будет около 5 пользовательских типов сообщений на новом сайте. Я ищу эффективный способ отображения этих типов сообщений на одной (индексной) странице, присваивая каждому другому шаблон / стиль (например, одному типу сообщения может потребоваться изображение с изображением, другие могут быть кавычками и т. Д.),

Этот более старый ответ от danblaker выглядит так, как будто он делает правильные вещи, не требуя писать пять или более циклов для одной страницы, но, будучи довольно новым для WP, я не могу точно понять, как и где его применять, или действительно, если это возможно все еще!

До сих пор я мог отображать заданный тип сообщения по одному на странице индекса, и я могу назначить конкретный шаблон этому типу сообщений один раз за один раз,

$args = array( 'post_type' => 'atoz_key', 'posts_per_page' => 10 ); $loop = new WP_Query( $args ); while ( $loop->have_posts() ) : $loop->the_post(); get_template_part( 'template-parts/atoz_key', get_post_format() ); endwhile; 

ВЫШЕ основной цикл индекса, но делать это 5+ отдельных циклов кажется немного глупым!

Решение Дэна кажется намного более элегантным, но я не вижу, как именно реализовать!

//

Любая помощь очень ценится.

благодаря!

Matt

Solutions Collecting From Web of "назначать разные шаблоны настраиваемому типу post с домашней петлей"

Вы лучше посмотрите на второй ответ на сообщение, которое вы дали ссылку. Используйте content-{post-type}.php чтобы назвать весь шаблон для каждого типа сообщения (если вы хотите узнать, как вам нужно разбить шаблон на куски content-{post-type}.php , тогда, пожалуйста, посмотрите в каталоге template-parts Twenty Sixteen и проанализируйте его шаблонную архитектуру). И назовите их, как показано ниже, на вашем шаблоне страницы –

 if ( have_posts() ) : while ( have_posts() ) : the_post(); /** * Would include CPT content template (content-teams.php) if it exists * or content.php otherwise. */ get_template_part( 'content', get_post_type( $post ) ); endwhile; endif; 

Таким образом, вы можете получить пост-тип текущего сообщения get_post_type( $post ) и присвоить его содержимому, связанному с типом сообщения. И для вашей петли это будет выглядеть как ниже,

 $your_post_types = array( 'atoz_key', 'post_type_2', 'post_type_3', 'post_type_4' ); foreach($your_post_types as $p_type ) { $args = array( 'post_type' => $p_type, 'posts_per_page' => 10 ); $loop = new WP_Query( $args ); while ( $loop->have_posts() ) : $loop->the_post(); get_template_part( 'template-parts/content', $p_type ); endwhile; }