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

  • Здравствуйте! Помогите пожалуйста! Ни как не могу решить проблему. Я буду описывать проблему и сразу выкладывать содержимое того что делал. После того как в файле 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. Причина: оформление кода
Просмотр 3 ответов — с 16 по 18 (всего 18)
  • наверняка надо.
    кто его знает, как там у вас ширина контентной части задана.

    Flector Здравствуйте!
    Разрешите вас побеспокоить еще раз?
    Давайте я все по порядку опишу что и как я делаю, а вы поправите меня если я что то делаю не так.
    И так:
    На локальном сервере (Open Server) у меня есть тема «easywp». В ней уже есть главная страница, которую я оформил два сайтбара левый и правый, несколько футеров. Я создаю отдельный шаблон для отдельных страниц к которому будут подключаться через дополнительные сайтбары виджеты.
    Я создал файл my template-page.php и в нем прописал;

    <?php session_start();
    /**
     Template Name: Дополнительные страницы.
     Template Post Type: post, page, product
    */
    get_header();
    
    error_reporting(E_ALL);
    ini_set('display_errors', 1);
     ?>

    далее еще в нем дописал часть кода, скопировав его из файла page.php

    
    <div id='easywp-content-wrapper' class='clearfix'>
    
    <div id='easywp-main-wrapper'>
    <div class='theiaStickySidebar'>
    
    <?php while (have_posts()) : the_post(); ?>
    
        <?php get_template_part( 'template-parts/content', 'page' ); ?>
    
        <?php
        // If comments are open or we have at least one comment, load up the comment template
        if ( comments_open() || get_comments_number() ) :
                comments_template();
        endif;
        ?>
    
    <?php endwhile; ?>
    <div class="clear"></div>
    
    </div>
    </div>
    
    <?php get_sidebar( 'sidebar-left-sidebar' ); ?>
    <?php get_sidebar( 'sidebar-right-sidebar' ); ?>
    
      
    
    </div><!-- #easywp-content-wrapper -->

    ну и естественно потом дописал два последних кода на запуск сайтбаров в этом шаблоне.

    В файле function.php я аналогично сайтбарам которые уже были, зарегистрировал еще сайтбары со своими id. Вот раскладка в этом месте файла, сдесь присутствуют и те и новые сайтбары (с новой регистрацией)

    register_sidebar(array(
        'name' => __( 'Левый основной сайтбар', 'easywp' ),
    	'id' => 'easywp-left-sidebar',    
        '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-sidebar',    
        '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>'));
    
    register_sidebar(array(
        'name' => __( 'Левый сайтбар страниц', 'easywp' ),
    	'id' => 'left-sidebar',    
        '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' => 'right-sidebar',    
        '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>'));	

    Затем я через консоль управления добавил виджеты к этим сайтбарам.
    Далее я создал в корне темы еще 2 файла
    sidebar-left-sidebar.php
    прописал в нем вот это.

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

    и
    sidebar-right-sidebar.php
    а в этом соответственно

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

    Вроде бы все сделал, но что то не работает.
    Да я еще не прописал стили к этим сайтбарам, хотя честно говоря не знаю как правильно это сделать? Сможите помочь подсказать???
    Заранее спасибо вам огромное!

    создайте отдельную тему.

    а вот это:

    
    <?php session_start();
    /**
     Template Name: Дополнительные страницы.
     Template Post Type: post, page, product
    */
    get_header();
    
    error_reporting(E_ALL);
    ini_set('display_errors', 1);
     ?>
    

    что за кошмар? какие на фиг сессии, какое отключение вывода ошибок?

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