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

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

4/5 - (4 голоса)

Бывает случаи, что боковая колонка на главной странице сайта должна отличаться от боковой колонки на внутренних страницах по содержанию, а иногда и по форме. В некоторых темах и шаблонах разработчики предусмотрели возможность выбора виджетов именно для главной страницы сайта, разметив область сайдбара. Но такая возможность встречается не во всех шаблонах, поэтому, если вы не нашли ее у себя, то не стоит отчаиваться и менять свой шаблон, боковую колонку для главной страницы вы можете создать очень легко, не затратив для этого много времени, просто нужно зарегистрировать новую боковую колонку и назначить ее вывод на главной странице.  Первым делом, что вы должны сделать – это открыть файл 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, а он у нас как раз отвечает за главную странице в шаблоне. В противном случае поключается боковая колонка, которая задана по-умолчанию.

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

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

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

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

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

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

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

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

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

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