Как показать разные боковые панели для постов и страниц в WordPress

Опубликовано: 2023-02-16

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

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

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

Как указывалось ранее, если в вашем блоге много категорий, у вас может возникнуть соблазн создать боковую панель с похожими предложениями, рекламой или продуктами по этой теме. Или, может быть, вы хотите рассказать о своем бизнесе на боковой панели «О нас», адаптированной для аудитории каждой страницы.

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

Сначала рассмотрим ручной способ.

изображение инструментов, линеек, клавиатуры и растений, выровненных для отображения боковой панели wordpress на столе с другими книгами и технологиями

Как вручную создать новую боковую панель WordPress

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

Сначала найдите файл, в котором боковая панель прописана в вашей теме. Обычно это файл functions.php, но он может отличаться в зависимости от вашей темы.

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

[php]

функция двадцать семнадцать_виджетов_инит () {

register_sidebar(

множество(

'name' => __('Боковая панель блога', 'twentyseventeen'),

'id' => 'сайдбар-1',

'description' => __( 'Добавьте сюда виджеты, чтобы они отображались на боковой панели в сообщениях блога и на страницах архива.', 'twentyseventeen' ),

'before_widget' => '<идентификатор раздела=”%1$s” класс=”виджет %2$s”>',

'after_widget' => '</section>',

'before_title' => '<h2 class=”название виджета”>',

'после_названия' => '</h2>',

)

);

register_sidebar(

множество(

'имя' => __('Нижний колонтитул 1', 'двадцать семнадцать'),

'id' => 'сайдбар-2',

'description' => __( 'Добавьте сюда виджеты, чтобы они отображались в нижнем колонтитуле.', 'twentyseventeen' ),

'before_widget' => '<идентификатор раздела=”%1$s” класс=”виджет %2$s”>',

'after_widget' => '</section>',

'before_title' => '<h2 class=”название виджета”>',

'после_названия' => '</h2>',

)

);

register_sidebar(

множество(

'имя' => __('Нижний колонтитул 2', 'двадцать семнадцать'),

'id' => 'сайдбар-3',

'description' => __( 'Добавьте сюда виджеты, чтобы они отображались в нижнем колонтитуле.', 'twentyseventeen' ),

'before_widget' => '<идентификатор раздела=”%1$s” класс=”виджет %2$s”>',

'after_widget' => '</section>',

'before_title' => '<h2 class=”название виджета”>',

'после_названия' => '</h2>',

)

);

}

add_action('widgets_init', 'двадцать семнадцать_widgets_init');

[/php]

Теперь скопируйте всю функцию и создайте файл functions.php в вашей дочерней теме (если у вас его еще нет) и вставьте код. Обязательно измените имя функции.

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

[php]

функция двадцать семнадцать_new_widgets_init () {

register_sidebar(

множество(

'имя' => __('Боковая панель WordPress', 'двадцать семнадцать'),

'id' => 'сайдбар-4',

'description' => __( 'Добавьте сюда виджеты, чтобы они отображались на боковой панели в сообщениях блога, связанных с WordPress.', 'twentyseventeen' ),

'before_widget' => '<идентификатор раздела=”%1$s” класс=”виджет %2$s”>',

'after_widget' => '</section>',

'before_title' => '<h2 class=”название виджета”>',

'после_названия' => '</h2>',

)

);

register_sidebar(

множество(

'name' => __('Боковая панель веб-дизайна', 'twentyseventeen'),

'id' => 'сайдбар-5',

'description' => __( 'Добавьте сюда виджеты, чтобы они отображались на боковой панели в постах блога, связанных с веб-дизайном.', 'twentyseventeen' ),

'before_widget' => '<идентификатор раздела=”%1$s” класс=”виджет %2$s”>',

'after_widget' => '</section>',

'before_title' => '<h2 class=”название виджета”>',

'после_названия' => '</h2>',

)

);

}

add_action('widgets_init', 'двадцать семнадцать_new_widgets_init');

[/php]

Новые боковые панели уже готовы; Если вы проверите раздел виджетов, он покажет две новые области виджетов. Мы добавили простой текстовый виджет на каждую боковую панель, чтобы сделать их узнаваемыми.

панель инструментов wordpress виджеты wordpress и селектор контента и другая боковая панель с несколькими нижними колонтитулами

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

В данном случае он находится в sidebar.php . Скопируйте файл из родительской темы и вставьте в дочернюю тему.

Если вы проверите файл, он вызывает sidebar-1 , который является идентификатором основной правой боковой панели.

[php]

<aside id=”вторичный” класс=”область виджета” роль=”дополнительный” aria-label=”<?php esc_attr_e( 'Боковая панель блога', 'двадцать семнадцать' ); ?>»>

<?php dynamic_sidebar('sidebar-1'); ?>

</в сторону>

[/php]

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

Шаблонный подход

При таком подходе вы должны создавать разные шаблоны в зависимости от ваших требований. В этом примере single.php отвечает за отдельные сообщения, поэтому вы можете скопировать и вставить файл в свою дочернюю тему. Переименуйте файл соответствующим образом, например wordpress-post.php , а также добавьте имя шаблона.

[php]

/* Имя шаблона: Боковая панель WordPress

* Тип сообщения в шаблоне: сообщение */

[/php]

Точно так же мы создали еще один шаблон с именем webdesign-post.php .

тема wordpress двадцать семнадцать с wordpress-post и webdesign-post в локальных файлах

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

Код говорит сам за себя. Он проверяет, какой шаблон используется, и соответственно устанавливает боковую панель. Если ни одно из условий не выполнено, будет использоваться боковая панель по умолчанию.

[php]

<?php

если ( is_page_template('wordpress-post.php')) {

dynamic_sidebar('боковая панель-4');

}elseif ( is_page_template('webdesign-post.php')){

dynamic_sidebar('боковая панель-5');

}еще{

dynamic_sidebar('боковая панель-1');

}

?>

[/php]

Теперь давайте создадим новый пост и назначим один из только что созданных шаблонов.

редактировать шаблон атрибутов поста WordPress с другой боковой панелью

Вы увидите, что я выбрал боковую панель WordPress для этого конкретного поста.

Wordpress предварительный просмотр живого поста с другой боковой панелью

Категорийный подход

В этом примере (изменение боковой панели на основе категорий сообщений) подход на основе категорий будет работать лучше, чем подход на основе шаблонов. Для этого вам нужно настроить условие в sidebar.php на основе категории, а не шаблона, используя функцию in_category() .

[php]

<?php

если (in_category('wordpress')) {

dynamic_sidebar('боковая панель-4');

}elseif ( in_category('веб-дизайн') ){

dynamic_sidebar('боковая панель-5');

}еще{

dynamic_sidebar('боковая панель-1');

}

?>

[/php]

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

Обновление боковой панели WordPress на основе выбранных категорий веб-дизайна

По сути, вам просто нужно настроить условие sidebar.php в соответствии с вашими конкретными требованиями.

Как создать собственные боковые панели с помощью плагинов WordPress

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

Одним из таких плагинов является Content Aware Sidebars. Это простой плагин, который позволяет динамически создавать боковые панели на отдельных страницах, постах, категориях и т. д.

После установки вы увидите боковое меню в панели администратора.

Боковые панели > Добавить новый

Опция плагина боковой панели wordpress добавить новую боковую панель

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

настроить предложения моей боковой панели на другую боковую панель для сообщений и страниц WordPress

Вы можете запланировать боковую панель на вкладке «Расписание» и изменить теги HTML на вкладке «Дизайн».

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

Как только ваша боковая панель будет опубликована, вы сможете получить к ней доступ из раздела «Внешний вид» > «Виджеты» .

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

Эта новая боковая панель будет отображаться на страницах и в сообщениях автоматически в соответствии с вашими настройками.

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

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

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

быстрый выбор боковых панелей блога для сообщений и страниц, чтобы получить другую боковую панель WordPress

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

новая боковая панель WordPress, выбранная на основе сообщений и страниц

Если вы создаете новую боковую панель, вам просто нужно активировать ее в разделе «Внешний вид» > «Виджеты» .

подробности о другой боковой панели для сообщений и страниц в панели управления WordPress

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

Заключение

Маховики объединяются друг с другом, как показать разные боковые панели для постов и страниц в wordpress

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