Как убрать сайдбар в wordpress

Как убрать сайдбар в wordpress

Регистрация сайдбаров WordPress

Для того, что-бы сайдбары для начала отобразились в админке, нам нужно их зарегистрировать. Другими словами добавить в файл functions.php код:

/** * Регистрация сайдбаров. */ function fwbs_widgets_init() { register_sidebar( array( ‘name’ => __( ‘Правая колонка’, ‘fwbs’ ), ‘id’ => ‘sidebar-1’, ‘description’ => __( ‘Правая боковая колонка’, ‘fwbs’ ), ‘before_widget’ => ‘<aside id=»%1$s» class=»widget %2$s»>’, ‘after_widget’ => ‘</aside>’, ‘before_title’ => ‘<h4 class=»widget-title»>’, ‘after_title’ => ‘</h4>’, ) ); register_sidebar( array( ‘name’ => __( ‘Левая колонка’, ‘fwbs’ ), ‘id’ => ‘sidebar-2’, ‘description’ => __( ‘Левая колонка в футере сайта’, ‘fwbs’ ), ‘before_widget’ => ‘<aside id=»%1$s» class=»widget %2$s»>’, ‘after_widget’ => ‘</aside>’, ‘before_title’ => ‘<h4 class=»widget-title»>’, ‘after_title’ => ‘</h4>’, ) ); } add_action( ‘widgets_init’, ‘fwbs_widgets_init’ );

Разбираю вышепреведенный код для создания сайдбаров WordPress

Тут не так все сложно, как на первый взгляд кажется.

  • ‘name’ => __( ‘Правая колонка’, ‘fwbs’ ) — название зоны виджетов, можете писать любое название, только аккуратно между скобками, смотрите на скрине видно, где оно выводится;
  • ‘id’ => ‘sidebar-1’ — ID уникальный идентификатор, присваиваемый сайдбару, у всех сайдбаров должен быть свой, отличный от других ID;
  • ‘description’ => __( ‘Правая боковая колонка’, ‘fwbs’ ) — описание, аналогично названию зоны виджетов;
  • ‘before_widget’ => ‘<aside id=»%1$s» class=»widget %2$s»>’ — HTML тег открывающий сайдбар, обозначающий начало зоны сайдбара, плюс к которому присваивается динамически класс widget;
  • ‘after_widget’ => ‘</aside>’ — закрывающий зону сайдбара HTML тег. Как мы знаем, что все HTML теги, за некоторым исключением должны быть парными (открывающий и закрывающий);
  • ‘before_title’ => ‘<h4 class=»widget-title»>’ — заголовок виджета будет обернут в тег H4 с классом <h4 class=»widget-title»>, можно менять значимость заголовка H1, H2, H3, H4, H5, H6 и присваивать свои классы;
  • ‘after_title’ => ‘</h4>’ — закрывающий </h4> парный тег для заголовка виджета.

Теперь заходим в адмику, в раздел «виджеты» и смотрим результат. Вот картинка того, что получилось у меня:

Данным кодом я зарегистрировал две зоны виджетов WordPress, теперь нужно вывести их на экран.

Вывод сайдбаров WordPress

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

<?php if ( is_active_sidebar( ‘sidebar-1’ ) ) : ?> <?php dynamic_sidebar( ‘sidebar-1’ ); ?> <?php endif; ?>

Немного пояснений по коду:

  • <?php if ( is_active_sidebar( ‘sidebar-1’ ) ) : ?> — PHP код, который дает команду, если в сайдбаре под id=sidebar-1 находятся виджеты, то его нужно выводить на экран, если виджетов нет, сайдбар не выводится;
  • <?php dynamic_sidebar( ‘sidebar-1’ ); ?> — PHP код вызывающий сайдбар под id=sidebar-1 в месте, где вы его прописали в коде шаблона.

Но как можно заметить, в шаблонах WordPress код вывода сайдбаров размещают в отдельных файлах sidebar.php, а потом уже выводят контент из файла sidebar.php в нужном месте шаблона. Как мы знаем, что WordPress выводит контент динамически и шаблон сайта состоит из нескольких частей, то одной из его частей является файл sidebar.php Давайте я так и сделаю.

Создайте файл, например sidebar-right.php, задайте ему заголовок, и вставьте в него вышеприведенный код. Все вместе это будет выглядеть таким образом:

<?php /** * The sidebar containing the right widget area */ ?> <div class=»right-sidebar»> <?php if ( is_active_sidebar( ‘sidebar-1’ ) ) : ?> <div id=»secondary» class=»widget-area»> <?php dynamic_sidebar( ‘sidebar-1’ ); ?> </div> <?php endif; ?> </div>

Как видно из примера, я дополнил код дополнительной HTML разметкой. Теперь, чтобы вывести зону виджетов, в нужном месте остается прописать следующее:

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

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

После небольшого отступления перейдем к нашим «баранам» и окунемся в суть работы с темами, а именно рассмотрим боковое меню WordPress.

Перед тем, как приступить к рассказу и вникнуть в код и настройки, очерчу несколько нюансов, которые вы скорее всего знаете, связанных с боковыми панелями:

Сайдбар сайта — правая или левая части сайта, отвечающая за донесение дополнительной информации и участвующая в навигации по сайту. Возможно использование и правой и левой боковой колонки одновременно.

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

Регистрация сайдбара в WordPress. Как добавить сайдбар в WordPress

Вывод сайдбара WordPress происходит по определенному принципу, при помощи вызова в файлах шаблона и регистрации в файле functions.php функцией register_sidebar().

Будьте внимательны, перед регистрацией сайдбара убедитесь что он ранее не был зарегистрирован. При наличии нескольких регистраций с одним и тем же id, возможно возникновение ошибок. Перед редактированием сторонних шаблонов, стоит убедиться что сайдбар не «завязан» к каким-то функционалом шаблона.

Первым делом откроем файл functions.php и напишем функцию регистрации сайдбара:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 function my_register_sidebars() { /* регистрация правого сайдбара */ register_sidebar( array( ‘id’ => ‘right-side’, // уникальный id для сайта, назначается правому сайдбару ‘name’ => ‘Правая колонка’, // название сайдбара, которое будет отображаться в админке ‘description’ => ‘Перетяните виджеты, чтобы добавить их в сайдбар.’, // описание выводимое в админке для сайдбара ‘before_widget’ => ‘<div class=»r-sidebar»>’, // по умолчанию виджеты выводятся <li>-списком ‘after_widget’ => ‘</div>’, // в этой и предыдущей строке мы задали контейнер в котором будет размещен сайдбар ‘before_title’ => ‘<h3 class=»r-wtitle»>’, // если оставить пустым, будет выводиться в <h2> ‘after_title’ => ‘</h3>’ ) ); /* регистрация левого сайдбара */ register_sidebar( array( ‘id’ => ‘left-side’, // уникальный id для сайта, назначается правому сайдбару ‘name’ => ‘Левая колонка’, // название сайдбара, которое будет отображаться в админке ‘description’ => ‘Перетяните виджеты, чтобы добавить их в сайдбар.’, // описание выводимое в админке для сайдбара ‘before_widget’ => ‘<div class=»l-sidebar»>’, // по умолчанию виджеты выводятся <li>-списком ‘after_widget’ => ‘</div>’, // в этой и предыдущей строке мы задали контейнер в котором будет размещен сайдбар ‘before_title’ => ‘<h3 class=»l-wtitle»>’, // если оставить пустым, будет выводиться в <h2> ‘after_title’ => ‘</h3>’ ) ); /* регистрация сайдбара для футера */ register_sidebar( array( ‘id’ => ‘footer-side’, // уникальный id для сайта, назначается правому сайдбару ‘name’ => ‘Нижний сайдбар’, // название сайдбара, которое будет отображаться в админке ‘description’ => ‘Перетяните виджеты, чтобы добавить их в сайдбар.’, // описание выводимое в админке для сайдбара ‘before_widget’ => ‘<div class=»f-sidebar»>’, // по умолчанию виджеты выводятся <li>-списком ‘after_widget’ => ‘</div>’, // в этой и предыдущей строке мы задали контейнер в котором будет размещен сайдбар ‘before_title’ => ‘<h3 class=»f-wtitle»>’, // если оставить пустым, будет выводиться в <h2> ‘after_title’ => ‘</h3>’ ) ); } add_action( ‘widgets_init’, ‘my_register_sidebars’ );

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

Сайдбар зарегистрирован, теперь нужно его вывести в нужном месте. Именно этим мы и займемся далее.

Как добавить sidebar в wordpress тему

Принцип добавления сайдбаров

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

1 2 3 <div class=»sidebar»> <?php dynamic_sidebar( ‘right-side’ ); ?> </div>

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

Мы проверили существуют ли виджеты в правом сайдбаре и вывели их на странице. По аналогии, заменяя лишь значение ID сайдбара (right-side) на нужный нам, мы сможем вывести все блоки на страницу в необходимом месте.

Куда добавить код для вывода сайдбара в WordPress

Для сайдбаров в вордпресс зарезервирован файл шаблона sidebar.php. Именно в нем в большинстве случаев описывается все необходимое (обертки панелек, условия для вывода на определенных страницах и т.д.)

Если у вас один сайдбар, тогда добавляйте его код в sidebar.php, и подключайте его в нужном месте в файле index.php с помощью функции:

1 <?php get_sidebar(); ?>

При использовании нескольких сайд баров вам нужно будет создавать дополнительные файлы к примеру sidebar-right.php, sidebar-left.php и sidebar-footer.php.

Поместив необходимый участок кода в нужный файл, подключение к индексному будет происходить следующим образом:

1 2 3 4 5 <?php get_header(); ?> <?php get_sidebar(‘left’); ?> <?php get_sidebar(‘right’); ?> <?php get_sidebar(‘footer’); ?> <?php get_footer(); ?>

Месторасположение подключения вы выбираете самостоятельно. Значение в скобках должно соответствовать названию файла (sidebar-right.php), выделено жирным.


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

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