Можно ли добавить боковую панель в свой раздел? WordPress, Настройщик тем

Как добавить боковую панель в свой раздел? У меня есть боковая панель:

function register_my_widgets(){
register_sidebar( array(
    'name' => 'Block 1 to Slide 2',
    'id' => 'homepage-sidebar',
    'before_widget' => '<p class="homepage-widget-block">',
    'after_widget' => '</p>',
    'before_title' => '<h2 class="widgettitle">',
    'after_title' => '</h2>',
) );

У меня есть раздел в настройщике:

$wp_customize->add_section('example_section_one', array(
    'title' => 'Slide 2,
    'priority' => '',
    'capability' => 'edit_theme_options'
));

Все виджеты попадают в категорию «виджеты». Как обойти это и добавить виджет в свой раздел в настройщике темы?

И можно ли в настройщике добавить раздел в раздел?


person Nixin777    schedule 09.02.2017    source источник
comment
Что вы пытаетесь сделать со своей боковой панелью, что вам нужно показать ее в другом разделе, а не в более интуитивно понятном разделе «Виджеты»? Если бы вы могли описать более подробно, возможно, мы могли бы попробовать какое-то решение   -  person shariqkhan    schedule 09.02.2017
comment
@shariqkhan Да, мне нужно показать боковую панель в другом разделе.   -  person Nixin777    schedule 09.02.2017
comment
Да, я понял. Я спрашиваю, есть ли какая-то конкретная причина, по которой вы пытаетесь показать в другом разделе. Ваш ход мыслей поможет найти решение   -  person shariqkhan    schedule 09.02.2017
comment
@shariqkhan Хочу сделать более четкую структуру настроек для своей темы, на главной странице есть первый раздел, в первом разделе есть блок, в этом блоке есть виджеты. Хочу отразить это в настройках темы, сделать их более структурированными.   -  person Nixin777    schedule 09.02.2017


Ответы (1)


$wp_customize->add_panel( 'shk_so42130318', array(
    'title'          => __( 'My Custom Sidebar section', 'dreamglutes' )
) );

Далее используйте этот фильтр:

function reassign_sidebar_panel( $section_args, $section_id, $sidebar_id ) {
    $section_args['panel'] = 'shk_so42130318';
    return $section_args;
}
add_filter( 'customizer_widgets_section_args', 'reassign_sidebar_panel',10,3);

Обратите внимание, что это работает, если вы собираетесь добавить боковые панели на панель. Если вам нужно показать их в разделе (а не в панели), то потребуется больше кодирования. Но я верю, что это тоже можно сделать.

person shariqkhan    schedule 09.02.2017