Intereting Posts
Объединение массива привилегированных пользователей с моим текущим запросом Самая быстрая конфигурация сервера, Каково ваше предложение? Почему редактор почтового контента всегда расширялся? Плагин WordPress PARAMS в iFrame Защита пользовательской формы от SQL-инъекций WP Налоговый запрос и порядок по налоговым запросам не работают Как удалить размеры эскизов для определенного типа сообщения в дочерней теме? Добавление разных фонов для разных страниц current_user_can ('Administrator') не возвращает true в multisite, если пользователь является Администратором, но НЕ Super Admin (Woocommerce) Как получить пользователя, принадлежащего к заказу? Дайте постоянную ссылку на пользовательские типы сообщений без заголовка Как проверить, подключен ли защищенный крючок? Создание пользовательского PHP-вывода в WP: как это сделать, parse_request почти работает, но не совсем Как перенаправить все запросы на wp-login.php? Почему мой WP_Query дважды выводит мои записи?

Можно ли ограничить настраиваемые мета-поля в зависимости от того, какой шаблон страницы используется?

Я искал вокруг и не смог найти что-либо относительно использования конкретного «шаблона» в качестве цели, чтобы запускать, когда показывать пользовательские мета-поля … Это возможно, и если да, то как бы вы это выполнили?

Если идентификаторы post / page являются единственным реальным возможным вариантом, можно ли настроить таргетинг на идентификатор родительской страницы, а не на отдельные идентификаторы страниц?

EDIT # 1

Чтобы подробнее объяснить детали проекта, я кратко опишу, почему Id нравится создавать экземпляры мета-полей только для определенных шаблонов страниц …

Как мой сайт в настоящее время настроен, есть куча пользовательских статических страниц для исполнителей на лейбле. Первоначально это было прекрасно, поскольку они не нуждались и / или требовали более динамичного решения, однако сейчас им приходится часто обновлять свои собственные био / pics / etc для каждой страницы профиля исполнителя, что делает мою текущую настройку не очень полезной.

В настоящее время есть страница «Артисты записи», которая действует как архив, а затем все страницы исполнителей являются дочерними страницами этой страницы.

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

Единственная другая альтернатива, которую я рассматривал, но я не уверен, что она будет работать, – это преобразовать архив исполнителей записи в архив CPT вместо этого, а затем сделать каждую страницу художника отдельной отдельной страницей …

Solutions Collecting From Web of "Можно ли ограничить настраиваемые мета-поля в зависимости от того, какой шаблон страницы используется?"

Мне нужно было то же самое, показывая метабокс, основанный на выбранном шаблоне страницы, и так как пользователю нужно выбрать шаблон страницы и сохранить, и только тогда я смогу узнать, какой метаболизм показать, я в конечном итоге показал все и использовал только один простой jQuery покажите нужный, не сохраняя сначала, здесь:

function custom_metabox_per_template() { global $pagenow,$typenow; if ( is_admin() && in_array( $pagenow, array( 'post.php', 'post-new.php' ) ) && $typenow == 'page') { $script = <<< EOF; <script type='text/javascript'> jQuery(document).ready(function($) { //hide all metaboxs function hide_all_custom_metaboxes(){ $('#full-with.php').hide(); $('#showcase.php').hide(); $('#no-sidebar-page.php').hide(); } //show a metabox function show_custom_metabox(meta_id){ var selector = "#"+meta_id; if( $(selector).length) $(selector).show(); } //first hide all metaboxes hide_all_custom_metaboxes(); //then check for selected page template and show the corect metabox var current_metabox = $('#page_template').val(); show_custom_metabox(current_metabox); //and last listen for changes update when needed $('#page_template').bind("change", function(){ hide_all_custom_metaboxes(); show_custom_metabox($('#page_template').val()); }); }); </script> EOF; echo $script; } } add_action('admin_footer', 'custom_metabox_per_template'); 

трюк заключается в том, чтобы предоставить ваш идентификатор метабокса, который соответствует имени вашего файла шаблона, вы можете увидеть в этом примере: full-with.php , showcase.php , no-sidebar-page.php – это имена файлов тем, которые определяют шаблоны страниц, и когда пользователь меняет шаблон страницы, также отображаются указанные метабокс.

Я бы решил это так:

1) Дополнительные пользовательские поля для создания настраиваемых мета-полей (содержащих настраиваемые поля, управляемые через ACF), которые будут отображаться выборочно в соответствии с набором правил ACF создает новое настраиваемое поле

2) Widget Logic для отображения текстового виджета только на страницах, которые вам нужны

3) включить короткие коды в текстовом виджете и построить его в соответствии с вашими потребностями (отображать стилизованные данные в соответствии с некоторыми критериями)

4) если вам нужно, вы можете сделать пользовательские функции для использования с Widget Logic, то есть is_artist('name-of-artist) или is_record_label('name-of-label')

[ОБНОВИТЬ]

Эти вопросы (дубликаты) также могут быть полезны:

Пользовательский мета-поле отображается при выборе шаблона

Переключить административный обмен на основе выбранного шаблона страницы.