Пользовательская тема Wordpress: область виджетов не настраивается в настройщике - PullRequest
0 голосов
/ 11 июня 2018

В настоящее время я разрабатываю собственную тему WordPress для использования на моем собственном веб-сайте.Моя главная задача - включить области виджетов.Мне удалось включить область виджетов, чтобы ее можно было настроить из Внешний вид> Виджеты , и результат также отображается в окне предварительного просмотра настройщика и на веб-сайте в режиме реального времени.Единственная проблема заключается в том, что я не могу настроить виджеты из настройщика.Когда я нажимаю Виджеты в настройщике, он отображает только это сообщение:

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

Хорошо, так как настроенный виджет под Внешний вид> Виджеты на самом деле мой сайт, похоже, имеет область виджетов.Но я думаю, что что-то не хватает для того, чтобы настройщик знал это.

Вот код, регистрирующий область боковой панели / виджета, которую я взял из многих похожих уроков:

<?php
function tgf_customize_register( $wp_customize ) {
    //All our sections, settings, and controls will be added here
}
add_action( 'customize_register', 'tgf_customize_register' );
function tgf_widgets_init() {
    register_sidebar(array(
        'name'          => 'Sidebar Widget',
        'id'            => 'main_sidebar_widget',
        'description'   => 'Widget Area',
        'before_widget' => '<div class=”widget”>',
        'after_widget'  => '</div>',
        'before_title'  => '<h2>',
        'after_title'   => '</h2>',
    ) );
}
add_action( 'widgets_init', 'tgf_widgets_init' );
?>

Это кодотображение боковой панели:

<?php if ( is_active_sidebar( 'main_sidebar_widget' ) ) : ?>
    <?php dynamic_sidebar( 'main_sidebar_widget' ); ?>
<?php endif; ?>

Я также пытался показать его с этим кодом, но тогда виджет вообще не показывался на сайте, даже когда я настраивал его из Внешний вид> Виджеты :

<?php if ( is_active_sidebar( 'main_sidebar_widget' ) ) : ?>
    <?php get_sidebar( 'main_sidebar_widget' ); ?>
<?php endif; ?>

Почему я не могу настроить этот виджет из настройщика?

Этот вопрос Создание темы WordPress: нет областей виджетовна показанной странице упоминает то же сообщение об ошибке в настройщике, но не предоставляет решения, которое применимо к моей конкретной проблеме.

Поскольку я не смог найти ничего, исследуя эту проблему, я думаю, чтоЯ пропускаю что-то фундаментальное.Что вполне может быть, так как я новичок в разработке WordPress тем и PHP.Заранее спасибо!

1 Ответ

0 голосов
/ 11 июня 2018

Сам выяснил, что ни один из уроков не сказал мне:

Я должен добавить <?php wp_head() ?> в начале страницы и <?php wp_footer() ?> в конце страницы.

Похоже, что Wordpress нуждается в этих хуках для правильной работы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...