Поддержка Проблемы и решения Как правильно создать второй сайдбар?

  • Я создаю новый файл, допустим «sidebar-top». Делаю его динамическим

    <?php if ( function_exists ( dynamic_sidebar(2) ) ) : ?>
    <?php dynamic_sidebar (2); ?>
    <?php endif; ?>

    Далее захожу в функцию, и регистрирую его

     register_sidebar(array(
    	    'name'=>'sidebar-top',
    	    'before_widget' => '<div class="site-description">',
    	    'after_widget' => '</div>'
    ));

    Далее я вызываю этот сайдбар в нужно мне месте?

    • Тема изменена 7 лет, 4 месяца назад пользователем ttimaa909.
Просмотр 8 ответов — с 1 по 8 (всего 8)
  • зачем вам новый файл?
    второй код регистрирует сайдбар — первый код его выводит.
    и код у вас неправильный, там вместо 2 должно быть ‘sidebar-top’:

    
    if ( !function_exists('dynamic_sidebar') || !dynamic_sidebar('sidebar-top') ) :
    endif; ?>
    

    вставить этот код (сайдбар) можно куда угодно, в вашем случае полагаю это будет header.php

    • Ответ изменён 7 лет, 4 месяца назад пользователем Flector.

    Извините , не много запутался. Новый файл создавать не нужно, что нужно вписать в существующий файл «Sidebar»?

    • Ответ изменён 7 лет, 4 месяца назад пользователем ttimaa909.

    в functions.php добавляете свой код регистрации сайдбара, и в любой другой файл темы добавляете код вызова этого сайдбара.

    Понял, последний вопрос : Если в этом сайдбаре будет находится меню , можно как то их засунуть в один блок? так они имеют один класс , но без блока

    а что, религия запрещает взять код вызова сайдбара в дивы?

    
    <div class="second-sidebar">
    
    if ( !function_exists('dynamic_sidebar') || !dynamic_sidebar('sidebar-top') ) :
    endif; ?>
    
    </div>
    

    но вообще в функции регистрации можно задать идентификатор и класс:
    https://codex.wordpress.org/Function_Reference/register_sidebar

    
    <?php $args = array(
    	'name'          => __( 'Sidebar name', 'theme_text_domain' ),
    	'id'            => 'unique-sidebar-id',
    	'description'   => '',
            'class'         => '',
    	'before_widget' => '<li id="%1$s" class="widget %2$s">',
    	'after_widget'  => '</li>',
    	'before_title'  => '<h2 class="widgettitle">',
    	'after_title'   => '</h2>' ); ?>
    

    Мне не много не ясно , в каком файле нужно вызывать сайдбар. В индексе или в page ?

    Чтот туплю я уже) Разобрался. Спасибо большое за помощь

    где угодно.
    это называется сайдбаром, потому что в основном его используют в сайдбаре. но на самом деле правильный перевод был бы «место для виджетов». и это самое место для виджетов можно вызвать в любом шаблоне темы. если вам нужен сайдбар в заголовке сайта — то вызывать его надо в header.php

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