@partizzend

Как осуществить переключение метабоксов в wordpress?

Всем привет, создаю тему для wordpress на unyson. Нужно вывести метабоксы в админке, в зависимости от выбранного шаблона страницы. Метабоксы вывожу {theme}/framework-customizations/theme/options/posts/page.php. Переключение опций осуществляю с помощью кода:
$( "#fw-options-box-main_page" ).addClass( "option_hidden" );
  $( "#fw-options-box-about_me" ).addClass( "option_hidden" );

  $('#page_template').on('change', function() {
    $('#fw-options-box-about_me').toggleClass('option_hidden', this.value != 'about-me-page.php');
    $('#fw-options-box-main_page').toggleClass('option_hidden', this.value != 'home-page.php');
  });

Но работает некорректно, т.к. класс меняется только после выбора, option из select'a 'page_template'. Подскажите, пожалуйста, код, или другой способ переключения этих функций.
  • Вопрос задан
  • 177 просмотров
Решения вопроса 1
@moldcraft
var boxes = {
    'main_page': 'about-me-page.php',
    'about_me': 'home-page.php'
};

$('#page_template').on('change update:boxes', function() {
    var selected = this.value;

    $.each(boxes, function(id, template){
        $('#fw-options-box-'+ id)
            .toggleClass('option_hidden', selected != template);
    });
}).trigger('update:boxes');
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы