Задавайте питання щодо курсів WordPress

Додаємо сайдбар у WordPress – урок 18

Для початку скажу, що сайдбар визначає де будуть виводитися віджети і щоб у вас у шаблоні була можливість виводити віджети вам необхідно включити підтримку сайдбарів.

Для включення заходимо у файл functions.php та додаємо туди код.

// Регистрируем сайдбар
function start_sidebar() {
 
	$args = масив(
		'id' => 'бічна панель зліва',
		'ім'я' => __( 'Сайдбар', 'Смугастий' ),
		'опис' => __( 'Левая колонка', 'Смугастий' ),
		'клас' => 'Смугасто-віджет',
		'before_title' => '<заголовок><h2 клас="віджеттитул">',
		'after_title' => '</h2></заголовок>',
		'before_widget' => '<ділення id="%1$с" клас="віджет %2$s">',
		'after_widget' => '</див.>',
	);
	register_sidebar( $args );
 
}
 
// Хук для функции 'widgets_init'
add_action( 'widgets_init', 'start_sidebar' );

Розберемо усі атрибути, введені в змінну $args:

  • id – унікальний ідентифікатор сайдбару, створюючи інші сайдбари, цей ідентифікатор не повинен повторюватися.;
  • name – заголовок сайдбару;
  • опис – опис призначення сайдбару;
  • class – клас який можна додати для стилізації сайдбару;
  • перед_заголовком – текст або теги, які повинні вставлятися до заголовка;
  • after_widget – текст або теги, які повинні вставлятися після заголовка;
  • before_widget – текст або теги до віджету;
  • after_widget – текст або теги після віджету.

before_widget і after_widget – використовують для створення обгортки віджету.

Після додавання коду в панелі адміністратора з'явиться Віджети (Віджети).

wordpress create sidebar widgets курсы по wordpress

Подивимося на сам сайдбар та розберемо по пунктах, що на ньому є:

Створення нового сайдбару для лівої колонки

  1. name‘ => __( «Бічна панель», «смугастий’ ) – заголовок сайдбару;
  2. опис‘ => __( 'Ліва колонка', «смугастий’ ) – опис сайдбару;

Перетягнемо в наш сайдбар віджет:

wordpress вставляємо віджет категорії

Поки в нашому сайдбарі не відображатиметься активний віджет, з ним можна працювати лише на панелі адміністратора. Щоб віджет відображався, необхідно додати спеціальний код у шаблоні sidebar-left.php.

Додаємо код зверху шаблону sidebar-left.php.

									<розділ>
										<?php if ( is_active_sidebar( 'бічна панель зліва' ) ) : ?>
											<ділення id="Первинна бічна панель" клас="Віджет-область первинної бічної панелі" роль="Додаткові">
												<?php dynamic_sidebar( 'бічна панель зліва' ); ?>
											</див.><!-- #первинно-бічна панель -->
										<?php endif; ?>
									</розділ>

Після додавання коду у вас на сайті має з'явитися віджет.

відобразити віджет wordpress на їх панелі

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

порожній віджет wp курси wordpress

Цей момент можна виправити, трохи видозмінивши код виведення віджету.

У файлі functions.php змінимо код на такий:

// Регистрируем сайдбар
function start_sidebar() {
 
	$args = масив(
		'id' => 'бічна панель зліва',
		'ім'я' => __( 'Сайдбар', 'Смугастий' ),
		'опис' => __( 'Левая колонка', 'Смугастий' ),
		'клас' => 'Смугасто-віджет',
		'before_title' => '<заголовок><h2 клас="віджеттитул">',
		'after_title' => '</h2></заголовок>',
		'before_widget' => '<ділення id="Первинна бічна панель" клас="Віджет-область первинної бічної панелі" роль="Додаткові"><ділення id="%1$с" клас="віджет %2$s">',
		'after_widget' => '</див.></див.><!-- #бічна панель-ліва -->',
	);
	register_sidebar( $args ); 
}
 
// Хук для функции 'widgets_init'
add_action( 'widgets_init', 'start_sidebar' );

У файлі sidebar-left.php змінимо код на такий:

									<розділ> 
												<?php if ( !dynamic_sidebar( 'бічна панель зліва' ) ) { ?>
													<див.>Відсутність віджетів</див.>
												<?php } ?>  
									</розділ>

Тепер розглянемо, як повністю приховувати сайдбар і виводити тільки якщо в ньому є віджети.

У файлі functions.php

// Регистрируем сайдбар
function start_sidebar() {
 
	$args = масив(
		'id' => 'бічна панель зліва',
		'ім'я' => __( 'Сайдбар', 'Смугастий' ),
		'опис' => __( 'Левая колонка', 'Смугастий' ),
		'клас' => 'Смугасто-віджет',
		'before_title' => '<заголовок><h2 клас="віджеттитул">',
		'after_title' => '</h2></заголовок>',
		'before_widget' => '<ділення id="%1$с" клас="віджет %2$s"><розділ><ділення id="Первинна бічна панель" клас="Віджет-область первинної бічної панелі" роль="Додаткові">',
		'after_widget' => '</див.></розділ><Бр /></див.><!-- #бічна панель-ліва -->',
	);
	register_sidebar( $args ); 
}
 
// Хук для функции 'widgets_init'
add_action( 'widgets_init', 'start_sidebar' );

У файлі sidebar-left.php

<?php dynamic_sidebar( 'бічна панель зліва' )  ?>

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

zip архів тем wordpress


Купити хостинг WordPress
Репетитор по wordpress
Послуги репетитора онлайн. Список курсів, які я веду
  • Базовий курс з веб-дизайну;
  • Верстка сайтів;
  • Загальний курс CMS WordPress та продовження курсу з розробки шаблонів;
  • Розробка сайтів на PHP.
Докладніше читайте на сторінці репетитор по WordPress
*/

Ніколаєнко Максим

Директор веб-студии ProGrafika. Займаюсь розробкою, дизайном та просуванням веб-сайтів. Завжди радий новим читачам блогу та добрим клієнтам.


Вам також може сподобатися...

2 Відповіді

  1. Джон Дір :

    Дуже гарний пост, Я точно люблю цей сайт, так тримати.

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *

Цей сайт використовує Akismet для зменшення спаму. Дізнайтеся, як обробляються дані ваших коментарів.

Шаблони для WordPress
Найкращий хостинг в Україні
Стабільний хостинг для Drupal