Дек
7

Добавляем боковую колонку для главной страницы в WordPress

Бывает случаи, что боковая колонка на главной странице сайта должна отличаться от боковой колонки на внутренних страницах по содержанию, а иногда и по форме. В некоторых темах и шаблонах разработчики предусмотрели возможность выбора виджетов именно для главной страницы сайта, разметив область сайдбара. Но такая возможность встречается не во всех шаблонах, поэтому, если вы не нашли ее у себя, то не стоит отчаиваться и менять свой шаблон, боковую колонку для главной страницы вы можете создать очень легко, не затратив для этого много времени, просто нужно зарегистрировать новую боковую колонку и назначить ее вывод на главной странице.  Первым делом, что вы должны сделать – это открыть файл functions.php вашего шаблона. В большинстве случаев, именно в нем регистрируются все боковые колонки вашего шаблона.Открыв файл, найдите в нем код, отвечающий за регистрацию боковой колонки в сайдбаре. Примерно, он будет выглядеть так:

register_sidebar(array(
        'before_widget' => '',
        'after_widget' => '',
        'before_title' => '<h2>',
        'after_title' => '</h2>',
    ));

Этот код, по-умолчанию, создает в вашем шаблоне боковую колонку под виджеты, видеть которую вы можете в разделе “Виджеты” административной панели. После регистрации боковая колонка по-умолчанию в вашем шаблоне, как правило имеет название “Боковая колонка 1″ или “Сайдбар 1″. Теперь давайте зарегистрируем новую колонку для главной страницы и назовем ее, например, “Сайдбар главной страницы”, а также присвоим ей некий идентификатор, который потребуется нам для вывода этой колонки именно на главной странице.

Можете даже скопировать ваш код регистрации боковой колонки по-умолчанию и вставить его ниже, добавив еще две строки:

register_sidebar(array(
		'name' => 'Сайдбар главной страницы',
		'id' => 'homepage-sidebar',
		'before_widget' => '',
		'after_widget' => '',
		'before_title' => '<h2>',
		'after_title' => '</h2>',
    ));

Как видите, мы добавили имя нашей новой боковой колонке “Сайдбар главной страницы” и идентификатор “homepage-sidebar”. Теперь, если вы перейдете в меню виджетов в административной панели, то увидите, что у нас появилась новая зарегистрированная колонка. Вот только, добавив в нее свои виджеты, вы не увидите никаких изменений на главной странице. А все потому, что мы пока что зарегистрировали новую боковую колонку, назначили ей имя и идентификатор, но не задали ей условия отображаться только на главной странице сайта. Вот теперь пришел черед назначить ей то самое условие, без которого новая боковая колонка на главной странице сайта не появится. Для этого откройте файл в шаблоне, который отвечает за вывод главной страницы, как правило, это файлы index.php или home.php. В WordPress боковая колонка подключается функцией get_sidebar(), поэтому найдите именно ее и замените на следующий код с условием:

<?php if ( is_active_sidebar( 'homepage-sidebar' ) ) { ?>
	<?php if ( !dynamic_sidebar('homepage-sidebar') ) : ?>
	<?php endif; ?>
	   <?php } else { ?>
	      <?php get_sidebar(); ?>
	   <?php } ?>

Таким образом, мы задали условие, при котором, если боковая колонка с идентификатором “homepage-sidebar” активна, то есть в нее добавлены виджеты, то она выводится в этом файле, то есть в файле index.php, а он у нас как раз отвечает за главную странице в шаблоне. В противном случае поключается боковая колонка, которая задана по-умолчанию.

VN:F [1.9.16_1159]
Rating: 0.0/10 (0 votes cast)
VN:F [1.9.16_1159]
Rating: 0 (from 0 votes)

Понравилась статья? Поделитесь ею в социальных сервисах!

Подпишитесь на обновление блога!

Ваш e-mail:

Понравилась статья? Вы не хотите пропускать новые статьи, посвященные Wordpress? Тогда подпишитесь на RSS или на электронный ящик и получайте новые статьи мгновенно! Также можете следить за мной в Twitter.

9 комментариев к “Добавляем боковую колонку для главной страницы в WordPress”

  • Нет аватара
    vawsan 13.12.2011 в 21:43

    Спасибо большое, использовал для одного нестандартного шаблона)

    VA:F [1.9.16_1159]
    Rating: 0.0/5 (0 votes cast)
    VA:F [1.9.16_1159]
    Rating: 0 (from 0 votes)
  • Нет аватара
    любовь 18.02.2012 в 18:02

    Вот у меня на блоге виджеты идут с одной стороны почему-то.
    Мне как начинающему очень полезен ваш блог. Спасибо. Буду чаще заглядывать.

    VA:F [1.9.16_1159]
    Rating: 0.0/5 (0 votes cast)
    VA:F [1.9.16_1159]
    Rating: 0 (from 0 votes)
  • Нет аватара
    Марина 20.02.2012 в 14:27

    А как удалить колонку? Есть шаблон – три колонки. Можно ли как-то удалить их обе?
    Делаю сайт, шаблон понравился, но колонки вообще не нужны.
    Буду благодарна за подсказку.

    VA:F [1.9.16_1159]
    Rating: 0.0/5 (0 votes cast)
    VA:F [1.9.16_1159]
    Rating: 0 (from 0 votes)
    • Нет аватара
      Vadimon 20.02.2012 в 20:27

      Для этого вам нужно редактировать html и css код шаблона.

      VN:F [1.9.16_1159]
      Rating: 0.0/5 (0 votes cast)
      VN:F [1.9.16_1159]
      Rating: 0 (from 0 votes)
      • Нет аватара
        Алекс 26.03.2013 в 14:35

        Пожалуйста, перерыл весь инет, как убрать боковые колонки на странице блога, а на главной оставить?

        VA:F [1.9.16_1159]
        Rating: 0.0/5 (0 votes cast)
        VA:F [1.9.16_1159]
        Rating: 0 (from 0 votes)
  • Нет аватара
    Mobile-sir 02.05.2012 в 00:08

    Нашел то что нужно для своего блога, висел вопрос про дополнителные панели – теперь знаю как.
    Спасибо за подсказку.

    VA:F [1.9.16_1159]
    Rating: 0.0/5 (0 votes cast)
    VA:F [1.9.16_1159]
    Rating: 0 (from 0 votes)
  • Нет аватара
    Ляля 16.05.2012 в 03:11

    Здравствуйте! Всё, сделала, как написано, но сайдбар на главной странице не активизировался. Стоят все рубрики по умолчанию и мне это не нравится. Шаблон “Брунеллески”. Там две боковых колонки, я вписала ниже второй. Ничего не изменилось. Потом даже убрала её совсем, Но главная страница без своего сайдбара всё равно. Что делать?

    VA:F [1.9.16_1159]
    Rating: 0.0/5 (0 votes cast)
    VA:F [1.9.16_1159]
    Rating: 0 (from 0 votes)
  • Нет аватара
    TopSpin 19.10.2012 в 23:20

    А как добавить боковую колонку в шаблон страницы?
    Ну то есть: на главной есть боковая, а внутри в странице нет.

    VA:F [1.9.16_1159]
    Rating: 0.0/5 (0 votes cast)
    VA:F [1.9.16_1159]
    Rating: 0 (from 0 votes)
  • Нет аватара
    Миха 06.03.2013 в 14:13

    Допустим есть тема с одним сайдбаром, на котором висит 5 виджетов. На всех страницах сайта я показываю в сайдбаре 5 виджетов, но на одной странице – я хочу показывать только один виджет в сайдбаре. Как программно, для этой страницы скрыть остальные 4-ри виджета?

    VA:F [1.9.16_1159]
    Rating: 0.0/5 (0 votes cast)
    VA:F [1.9.16_1159]
    Rating: 0 (from 0 votes)

Оставить комментарий для Ляля

Вы можете использовать следующие теги: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Получать новые комментарии по электронной почте. Вы можете подписаться без комментирования.

Блог про wordpress и все, что с ним связано – возможности системы, секреты и хаки, плагины, шаблоны, оптимизация, seo, безопасность и т.п. Проект для начинающих и продвинутых пользователей.

Если хотите быстро и оперативно получать последние новости и статьи, то рекомендуем подписаться на обновления блога по E-mail:

E-mail:

Последние комментарии

Друзья проекта