Поддержка Проблемы и решения Не отображаются виджеты в дополнительных сайтбарах

  • Здравствуйте! Помогите пожалуйста! Ни как не могу решить проблему. Я буду описывать проблему и сразу выкладывать содержимое того что делал. После того как в файле function.php зарегистрировал сайтбары (правый и левый) дополнительные для обычных страниц

    register_sidebar(array(
        'name' => __( 'Левый сайтбар страниц', 'easywp' ),
    	'id' => 'easywp-left-sidebar1',    
        'description' => __( 'This sidebar is located on the left-hand side of web page.', 'easywp' ),
        'before_widget' => '<div id="%1$s" class="side-widget widget %2$s">',
        'after_widget' => '</div>',
        'before_title' => '<h2 class="widget-title">',
        'after_title' => '</h2>'));
    
    register_sidebar(array(
        'name' => __( 'Правый сайтбар страниц', 'easywp' ),
    	'id' => 'easywp-right-sidebar1',    
        'description' => __( 'This sidebar is located on the right-hand side of web page.', 'easywp' ),
        'before_widget' => '<div id="%1$s" class="side-widget widget %2$s">',
        'after_widget' => '</div>',
        'before_title' => '<h2 class="widget-title">',
        'after_title' => '</h2>'));

    создал два файла easywp-right-sidebar1 и easywp-left-sidebar1 в корне темы

    <?php
    /**
    * The sidebar containing the right widget area
    */
    ?>
    <div class="left-sidebar1">
    <?php if ( is_active_sidebar( 'easywp-left-sidebar1' ) ) : ?>
    <div id="secondary" class="widget-area">
    <?php dynamic_sidebar( 'easywp-left-sidebar1' ); ?>
    </div><!-- #secondary -->
    <?php endif; ?>
    </div>

    и соответственно

    <?php
    /**
    * The sidebar containing the right widget area
    */
    ?>
    <div class="right-sidebar1">
    <?php if ( is_active_sidebar( 'easywp-right-sidebar1' ) ) : ?>
    <div id="secondary" class="widget-area">
    <?php dynamic_sidebar( 'easywp-right-sidebar1' ); ?>
    </div><!-- #secondary -->
    <?php endif; ?>
    </div>

    Далее Зашел в консоль wordpress добавил виджеты в два этих новый сайтбара (форма авторизации в левый и в правый картинку)
    После этого, открыл файл из корня темы page.php и в нем на том месте где была запись <?php get_sidebar(); ?> прописал

    <?php get_sidebar( 'easywp-left-sidebar1' ); ?>
    <?php get_sidebar( 'easywp-right-sidebar1' ); ?>

    Вроде бы все. Зарегистрировал сайтбары, прописал команды на вывод виджетов(если они есть), на отображение сайтбаров и на запуск в обычных страницах (не на главной). Вхожу на сайт, на главной то у меня все в порядке, а вот на другой странице сайтбар есть, но он без ничего, пустой, моих виджетов нет. Ни картинки что я туда вставил ни формы авторизации, хотя в консоле показывает, что виджет присутствует.
    Скажите пожалуйста что я сделал не так???
    Сразу скажу, что тема у меня, «easywp», wordpress развернут на локальном сервере под Open Server.
    Заранее спасибо за помощь!

    • Тема изменена 3 года, 11 месяцев назад пользователем Denis Yanchevskiy. Причина: оформление кода
Просмотр 15 ответов — с 1 по 15 (всего 18)
  • Скажите пожалуйста что я сделал не так???

    1. Не оформили код так, чтобы его можно было читать, не сломав при этом глаза. Кнопочка code в форме, если что.
    2. «создал два файла easywp-right-sidebar1 и easywp-left-sidebar1 в корне темы» — а надо easywp-right-sidebar1.php и easywp-left-sidebar1.php. К тому же все манипуляции с шаблонами надо делать в дочерней Теме, чтобы не потерять результаты труда при обновлении.
    3. «открыл файл из корня темы page.php» — см. выше.
    4. «wordpress развернут на локальном сервере» — тем самым Вы лишили нас возможности увидеть проблему. Полагаться на телепатические способности сообщества не стоит.

    get_sidebar($name) подключает файлы вида sidebar-{name}.php

    см. кодекс.

    Юрий! Ну естественно я создал easywp-right-sidebar1.php.

    Flector(@flector) Вы намекаете на это easywp-right-sidebar-1.php, обязательно с «тире» или то что не указано расширение php ?

    get_sidebar('easywp-left-sidebar1') вызывает файл sidebar-easywp-left-sidebar1.php

    Flector намекает, что имя файла сайдбара должно начинаться с sidebar-, а затем уже имя сайдбара.

    Не стоит без особой нужды пинговать (писать ник с @)

    Flector Да я это так и сделал просто не дописал, что создал 2 файла easywp-left-sidebar1.php и easywp-right-sidebar1.php блин,` ну я же не совсем того.

    Flector Да я это так и сделал просто не дописал, что создал 2 файла easywp-left-sidebar1.php и easywp-right-sidebar1.php блин, ну я же не совсем того

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

    файлы должны называться sidebar-easywp-left-sidebar1.php и sidebar-easywp-right-sidebar1.php

    Flector все отобразилось спасибо, вот только он не там отобразился, там где контент, между двумя сайтбарами на главной странице, а я вообще то расчитывал, что будет отображен на дочерней страницы в сайтбарах, а на дочерней так ничего и не отобразилось, а почему?? Где в каком файле прописать <?php get_sidebar( 'easywp-left-sidebar1' ); ?> ???. Да и еще, почему именно так должен называтся файл
    sidebar-easywp-right-sidebar1.php, а я вот думал что так easywp-right-sidebar1.php

    почему именно так должен называтся файл

    Потому что задумано Создателями.
    Матчасть: https://codex.wordpress.org/%D0%A2%D0%B5%D0%B3%D0%B8_%D1%88%D0%B0%D0%B1%D0%BB%D0%BE%D0%BD%D0%BE%D0%B2/get_sidebar

    Юрий я к вам отношусь с уважением. Но вы не забывайте, что сюда как правило обращаются люди, в том числе, достаточно далекие от знаний программирования в php, у многих просто есть небольшой багаж знаний по крайней мере в HTML и есть огромное желание научится. По этому в место язвительных высказываний, может лучше проявить терпение и постараться быть на одной волне с такими как я, ведь если бы я был бы в этом деле «ГУРУ», я бы сюда не обращался.
    Берите пример с Flector — ра.
    Я ведь только начинаю свою карьеру в WordPress.
    Но все равно спасибо лично Вам за помощь!

    Flector А можно еще один вопрос?
    Теперь новая проблема. Сайтбары теперь отображаются в контентном окне а не по бокам
    я и в файле page.php прописывал

    <?php get_sidebar( 'easywp-left-sidebar1' ); ?>
    <?php get_sidebar( 'easywp-right-sidebar1' ); ?>

    и в созданом мною файле шаблоне
    my template,php
    Но все равно отображается в центре, а если прописываю главный сайтбар командой
    <?php get_sidebar(); ?> , все отображается по бокам, что то никак не пойму где косяк?

    По этому в место язвительных высказываний, может лучше проявить терпение

    Вот аж интересно — где Вы разглядели «язвительность»? Неужто в ссылке на матчасть?

    что то никак не пойму где косяк?

    в стилях float вы ваших сайдбарам задали?

    Flector в стилях float для боковых меню я так понял? А кроме этого еще что то надо дописывать?

Просмотр 15 ответов — с 1 по 15 (всего 18)
  • Тема «Не отображаются виджеты в дополнительных сайтбарах» закрыта для новых ответов.