Intereting Posts
Добавьте выбранный вариант коротких кодов, таких как выпадающее меню в тиниме Можете ли вы иметь более одного nonce на странице? Как вы навсегда удаляете правила перезаписи по умолчанию из таблицы wp_options? Использование настраиваемого значения поля в качестве текущего имени пользователя Заполнение URL веб-сайта во время регистрации Удаляет ли wp_delete_user () все содержимое пользователя? пользовательская тема: английский .mo файл не работает Показать сообщения без содержимого в RSS Получить URL эскиза сообщения или отобразить изображение по умолчанию в коротком коде Добавьте вкладки метаданных X на основе формы в верхней части мета-окна, как это сделать правильно? добавить пароль для публикации метаблока wordpress Как добавить javascript непосредственно перед тегом закрывающего тега в нижнем колонтитуле WordPress WordPress register_post_type Недопустимый тип сообщения Как я могу создать страницу на сайте, которая не является «страницей» в смысле WordPress? Как изменить порядок лицевой страницы, чтобы он не отображался первым

Несколько шаблонов для отдельных настраиваемых типов сообщений

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

Например, у меня есть один пользовательский тип сообщения, называемый «планами»,

По умолчанию файлы single-plans.php и archive-plans.php используются как шаблоны.

Я хотел бы использовать этот бит кода для фильтрации некоторых результатов в моем цикле.

<?php //Filter the results based on the presence of $var $var = get_post_meta($post->ID, 'my_custom_field', true); if($var !== '') { ?> THE LOOP <?php } ?> 

Это прекрасно работает, но мне нужно создать два отдельных шаблона, где я могу проверить отдельный $ var, поэтому у меня могут быть два пункта меню, каждый из которых вызывает отдельную версию шаблона и получает уникальный набор результатов от моего единственного CPT

Спасибо, Эрик

Возможно, вы ставите вопрос на свой вопрос, но можете ли вы использовать get_template_part ?

 <?php get_template_part( 'plans', get_post_meta($post->ID, 'my_custom_field', true ) ); ?> 

Затем создайте «plans_plana.php» и «plans_planb.php» (предполагая, что «my_custom_field» может иметь значения «plana» и «planb»).

Двадцать и двадцать один год используют массив get_template_part, если вам нужны еще несколько примеров.