Индивидуальный сайдбар для разных страниц WordPress

Индивидуальный сайдбар для разных страниц WordPress
5 (100%) 3 votes

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

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

  • Кто-то при странице с описанием услуг захочет вывести в сайдбар слайдшоу своих работ
  • Кто-то хочет, чтобы его личное видеообращение в сайдбаре было на всех страницах, кроме главной
  • Кто-то хочет следать уникальный сайдбар для 404 ошибки
  • Кто-то хочет оптимизировать страницу с результатами поиска по блогу, добавив рекламные блоки в сайдбар от Adsence или Direct.
  • Кому-то удобно создать шаблон подписной страницы и добавить форму подписки в сайдбар, удалив из него лишние ссылки, которые отвлекают посетителя

Да мало ли какие нужды не дают Вам спокойно спать по ночам.

На самом деле, эта проблема решается быстро и просто. Сразу предупреждаю: не для полных «чайников». Какие-то маломальские понятия в php или хотя бы в html у Вас быть должны.

Этот метод годится для всех шаблонов wordpress, которые используют функцию
<?php get_sidebar(); ?>

Т.е., практически, для всех.

Итак, по шагам, что нужно сделать

  • Открываете в редакторе Notepad++ файл Вашей темы оформления с именем sidebar.php
  • Пересохраняете его с другим именем, например sidebar-404.php (если нам вдруг зачем-то понадобился индивидуальный сайдбар для страницы ошибок)
  • Удаляете из него динамически выводимую часть (она включает в себя такое ругательство: dynamic_sidebar), если не хотите, чтобы на странице отображалось то, что Вы себе налепили виджетами.
  • Вставляете в него то, что хотите видеть в боковой колонке на странице ошибок, например картинку с извинениями за отсутствие наличия. Это даст возможность на самой странице ошибок разместить форму поиска от Гугла, например. Или наоборот, в сайдбар можно вывести подписку на фид, например. Это уже вопрос того, для чего Вам уникальный сайдбар для страницы ошибок.
  • Открываете в том же редакторе файл 404.php (если его нет, нужно создать обязательно и как можно быстрее) и в самом низу, где прописывается функция вывода сайдбара  <?php get_sidebar(); ?> в круглые скобки в кавычках добавляете то, что прописали в названии файла после тире: sidebar-404.php (в нашем случае это 404)
    <?php get_sidebar('404'); ?>
  • Теперь заливаем оба файла в папку с темой и, вуаля, на странице ошибок – индивидуальный сайдбар.

Вы можете создать собственный шаблон для сайдбара статичных страниц, отредактировав файл  page.php, индивидуальный сайдбар для главной страницы (index.php), сайдбар, который будет выводиться на череде записей блога (single.php) или на страницах вывода архивов и меток (archive.php)

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

Лола Пирхал

Сертифицированный коуч, бизнес-тренер, интернет-предприниматель, веб-разработчик

+38 067 7923605 KartaUspeha.ru

QR:  '.get_the_title().'

Что Вы об этом думаете?

Подарок

Оставьте Ваш первый комментарий и получите замечательный подарок!


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

  • а кто-то, то есть я, хочет чтобы не только сайт бар был индивидуален, но и чтобы к примеру не было списка страниц в шапке блога , но в отельно взятой записи. Интересно - есть такой плагин?

    • Людмила, это плохая идея. Ссылки на основные страницы со статичным контентом должны быть на самом видном месте. Более того, они должны еще дублироваться в нижней части блога

  • Здравствуйте, Лола! С большим интересом поприсутствовал на "Камасутре блоггера". Узнал много ценной информации и заинтересовался Вашими работами. У меня вопрос: на сколько актуален материал Школы "Почтовый голубь" сегодня? Ведь уже 3 года прошло с момента написания первых уроков. Стоит ли штудировать все с начала?
    Спасибо!

  • Здравствуйте Лола!
    Подскажите пожалуйста, как быть если есть сразу встроенный редактор, например как у меня в вордпресс. Куда вставлять код?

  • Надежда

    Подскажите.
    Есть меню верхнее, нужно в сайдбаре вывести для каждой сраницы меню свой уни кальный блок.
    Как эоможно реализовать используя ваш метод?
    Учитывая что страницы вида 404.php у меня нет. А если они где-то есть, их найти не удалось.

    • Можно. Только будет очень громоздко. Более изящное решение - создать отдельный сайдбар для страниц и в него ввести код динамически изменяемого блока. Чтобы на каждой странице был соответствующий только ей. Менять нужно будет не 404.php, а page.php

  • Екатерина

    Огромное спасибо за статью!
    Вопрос такой, подойдет ли этот метод, если мне нужен индивидуальный сайдбар для половины страниц моего сайта, а для второй половины можно оставить стандартный? Всего-то нужно, чтобы в одном случае была одна форма обратной связи, а во-втором — другая. 💡
    И простите за второй вопрос, а залить файл в папку с темой можно только через FTP-сервер? ❓

    • Почему нет?
      У Вас будет два шаблона страниц. Создавая страницу, Вам просто нужно будет выбрать соответствующий шаблон.
      Да, думаю, что без ftp клиента Вам не обойтись

  • Екатерина

    Лола, вы так быстро ответили, я очень вам благодарна! Спасибо за ваш труд!

  • Нужно перенести фильтр параметров из шаблона рубрики в шаблон сайдбара. Создала sidebar-category.php именно для это шаблона, т.к. фильтр должен отображаться в сайдбаре только для шаблано категорий. Перенесла код фильтра в шаблон sidebar-category.php и сайдбар просто не отображается.

    • Ольга, эта статья о том, как сделать пользовательский сайдбар для разных СТРАНИЦ. Категории (рубрики) - это не то же самое,ч то страницы.

      Что конкретно Вы хотите получить? Только, плиз, не нужно вставлять кучу кода в комментарий. Словами объясните, что должно происходить в боковых колонках разных рубрик.

  • Максим

    Добрый вечер ! Подскажите пожалуйста ! Мне нужен индивидуальный сайдбар для главной странице! Взял sidebar.php клонировал, удалил dynamic_sidebar далее клонировал с именем sidebar-page.php Далее все по списку , но осталось все без изменений. Как теперь в индивидуальный бар поставить виджет?

    • Максим

      Описал не правильно но суть думаю что указал. В общем просто прошу помощи в установке т.к. очень нуждаюсь! 💡

    • Максим, добрый вечер
      :) Я не могу гадать. Мне нужно видеть код.
      Будет лучше, если Вы назовете файл сайдбара на главной как-то иначе,например, sidebar-home.php
      И, разумеется, в самом файле index.php внесете изменения в вывод сайдбара: < ?php get_sidebar('home'); ?>

  • Лариса, спасибо. Как раз собралась изменить боковую колонку для разных страниц, можно было самой найти решение. Но когда есть готовый вариант даже лучше.

  • Юрик

    Здравствуйте Лола :).
    Подскажите пожалуйста, возможно ли настроить как-то вывод сайтбара (A) для записей из категории (A), сайтбара (B) для записей из категории (B),и т.д. ... ?!

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

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