Расширенные пользовательские поля – отображается, когда используется конкретный шаблон?

Я знаю, как отображать мои группы полей на определенных страницах (отображаемое местоположение: страница равно myPage).

У меня есть несколько разных шаблонов на моем сайте и вы хотите отобразить полевую группу X, когда страница использует шаблон Y. Возможно ли это?

Solutions Collecting From Web of "Расширенные пользовательские поля – отображается, когда используется конкретный шаблон?"

Трудно дать точный ответ, не разделяя ваш код, но используя is_page_template() в инструкции if поможет определить, когда вы показываете свою настраиваемую группу полей:

 if ( is_page_template( 'template-y.php' ) ) { # Display Field Group X code here... } else { # Do something else... } 

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

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

Поэтому, если в метакоксе есть идентификатор «metabox_id», и вы хотите, чтобы он появился, когда имя файла выбранного шаблона страницы «template-file-name.php», используйте следующее.

В functions.php

 add_action('admin_enqueue_scripts', 'my_admin_script'); function my_admin_script() { wp_enqueue_script('my-admin', get_bloginfo('stylesheet_directory').'/js/custom-admin.js', array('jquery'), '1.0.0', true); } 

В custom-admin.js

 (function($){ $(document).ready(function() { $('#page_template').change(function() { $('#metabox_id').toggle($(this).val() == 'template-file-name.php'); //Change }).change(); }); })(jQuery);