Главная / Уроки Wordpress / Как добавить сайдбар в шаблон темы

Как добавить сайдбар в шаблон темы

Иногда попадаются темы, где всего 1 сайдбар и они используются для нужд самой темы, и новые виджеты вы там разместить не сможете. Возможно вам понадобилось изменить существующий шаблон темы и добавить дополнительный сайдбар, допустим в теме он слева, а вам надо добавить еще один справа.

Решить эту задачу совсем не сложно. Достаточно внести небольшие изменения в файлы темы functions.php и файл шаблона той страницы, где хотите разместить сайдбар. Как узнать какой файл отвечает за вывод страниц можете посмотреть в уроке «Структура шаблона WordPres»

Для начала необходимо зарегистрировать новый сайдбар. Это делается в файле functions.php в папке с шаблоном.

 

register_sidebar( array(
	'name' =>'Новый сайдбар',
	'id' => 'secondary-widget-area',
	'before_widget' => '<li id="%1$s" class="widget-container %2$s">',
	'after_widget' => '</li>',
	'before_title' => '<h3 class="widget-title">',
	'after_title' => '</h3>',
) );

Далее в том месте сайта где вы хотите добавить новый сайдбар вставьте код:

<div class="sidebar">
	<?php  dynamic_sidebar( 'secondary-widget-area' ); ?>
</div>

Готово, в панели управления виджетами появился новый сайдбар. Остается только немного настроить его внешний вид в файле style.css (можно скопировать вид из существующего)

Что есть что в коде

Name – название сайдбара (sidebar), оно будет отображаться в админ панели Виджеты.
id – уникальный идентификатор. Понадобиться при добавлении на страницу.
before_widget – код или текст, который будет вставлен перед каждый виджетом.
after_widget –  код или текст, который будет вставлен после каждого виджета.
before_title – код или текст, который будет вставлен перед заголовком виджетов.
after_title – код или текст, который будет вставлен после заголовка виджетов.

Обратите внимание на ID, имя сайдбара, в данном случае это «secondary-widget-area». Оно должно быть точно таким же, как имя указанное при регистрации в файле functions.php.

Ну а после того как мы прикрутили область сайдбара, можно ее расширить плагином. Как это сделать смотрите в обзоре «Добавляем сайдбары«

В тему!

не работают файлы перевода WordPress

Если не работают файлы перевода WordPress

Сидел писал новый обзор плагина и в очередной раз столкнулся с проблемой: не работают файлы перевода ...

13 комментариев

  1. сайдбар появился в виджетах а на страницах не выводится..
    в чем может быть проблема?

    • Андрей

      Нужно добавить код вывода сайдбара на страницах — «Далее в том месте сайта где вы хотите добавить новый сайдбар вставьте код:»

      <div class="sidebar">
          <?php  dynamic_sidebar( 'secondary-widget-area' ); ?>
      </div>
      

      Обычно этот код надо разместить в файле sidebar.php

  2. Добрый вечер, Андрей! Ваша статья пришлась мне очень кстати! Передо мной как раз стоит задача добавить сайдбар в мой шаблон (изначально есть только левый). Учитывая, что я «не волшебник, а только учусь», я воспользовалась Вашим кодом регистрации сайдбара. Все прошло успешно, он есть на странице виджетов.

    Но далее у меня возникают проблемы: я добавила код в single.php и поставила пару виджетов. Виджеты стали отображаться сверху записи, а не справа, как мне нужно. Убрала код и вписала в sidebar.php — виджеты добавляются в левый сайдбар над теми, которые уже есть.

    В общем, моя задача: добавить правый сайдбар с корректным отображением на странице. Можете что-то подсказать? Надеюсь, я ясно изложила свою мысль.

    Заранее спасибо.

  3. Простите, напутала с топографией ))) Правый есть, нужен левый ))

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

  5. Вопрос: у меня на сайте есть страницы, рубрики (со списком постов), и посты — так вот сайдбар можно вывести везде, кроме рубрик — это особенности моей темы или в вордпрессе так продумано, что именно в рубрике со списком постов нельзя выводить сайдбар?

  6. Александр

    Что то у меня не отображается сайдбар нигде. Не пойму куда его нужно вставить чтоб он отобразился? Ну в Функцион пхп код вставил, а остальной куда?

  7. Здравствуйте, я подобрал шаблон с 3-мя колонками, но они (колонки) отображаются на сайте ниже первой колонки в одном столбце! Подскажите пожалуйста,- как их параллельно друг другу поставить?

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Лимит времени истёк. Пожалуйста, перезагрузите CAPTCHA.