Создаем виджеты в шаблоне на CMS WordPress
Регистрируем панель виджетов, в которую потом будем размещать виджеты на сайте, я обычно использую такие панели для различных функциональных частей на сайте, типа сайдбаров, футеров или для каких-то блоков в хедере.
Регистрируем виджеты:
<?php
function register_my_widgets() {
register_sidebar(array(
'name' => 'Sidebar',
'id' => "sidebar-widget",
'before_widget' => '',
'after_widget' => '',
'before_title' => '',
'after_title' => '',
));
register_sidebar(array(
'name' => 'Home Sidebar',
'id' => "home-sidebar-widget",
'before_widget' => '',
'after_widget' => '',
'before_title' => '',
'after_title' => '',
));
}
add_action('widgets_init', 'register_my_widgets');
?>
Выводим виджеты:
<?php if ( is_active_sidebar( 'sidebar-widget' ) ) : ?>
<?php dynamic_sidebar( 'sidebar-widget' ); ?>
<?php endif; ?>
<?php if ( is_active_sidebar( 'home-sidebar-widget' ) ) : ?>
<?php dynamic_sidebar( 'home-sidebar-widget' ); ?>
<?php endif; ?>
Второй вариант вывода виджета:
<?php
if ( function_exists('dynamic_sidebar') )
dynamic_sidebar('sidebar-widget');
?>
Более подробно:
Шаблон использования виджетов
add_action( 'widgets_init', 'register_my_widgets' );
function register_my_widgets(){
register_sidebar( array(
'name' => sprintf(__('Sidebar %d'), $i ),
'id' => 'sidebar-$i',
'description' => '',
'class' => '',
'before_widget' => '<li id="%1$s" class="widget %2$s">',
'after_widget' => "</li>\n",
'before_title' => '<h2 class="widgettitle">',
'after_title' => '</h2>\n',
) );
}
Аргументы параметра $args
name (строка)
Название панели виджетов. Название будет видно в админ-панели WordPress. По умолчанию «Боковая колонка 1» (локализация от Sidebar $i
, где $i
— порядковый номер сайдбара). Значение не должно быть пустым!
По умолчанию: sprintf(__('Sidebar %d'), $i )
id (строка)
Идентификатор виджета. Строка, в которой не должно быть заглавных букв и пробелов. Значение не должно быть пустым, если оставить этот параметр пустым, то в режиме разработки (при дебаге) получите заметку типа E_USER_NOTICE.
По умолчанию: 'sidebar-$i'
description (строка)
Текст описывающий где будет выводиться панель виджетов. Показывается в панели управления виджетами.
По умолчанию: ''
class (строка)
CSS класс, который будет добавлен главному HTML тегу панели виджетов.
По умолчанию: ''
before_widget (строка)
HTML код, который будет расположен перед каждым виджетом в панели. Например:
Конструкции %1$s
и %2$s
будут заменены на id и class используемого в сайдбаре виджета.
По умолчанию: '<li id="%1$s" class="widget %2$s">'
after_widget(строка)
HTML код, который будет расположен после каждого виджета в панели. Например: </li>
.
По умолчанию: '</li>\n'
before_title(строка)
HTML код перед заголовком виджета.
По умолчанию: '<h2 class="widgettitle">'
after_title(строка)
HTML код после заголовка виджета.
По умолчанию: '</h2>\n'
Например, зарегистрируем панель виджетов для главной страницы сайта
Добавим код в functions.php
:
function register_my_widgets(){
register_sidebar( array(
'name' => 'Боковая панель на главной странице',
'id' => 'homepage-sidebar',
'description' => 'Выводиться как боковая панель только на главной странице сайта.',
'before_widget' => '<li class="homepage-widget-block">',
'after_widget' => '</li>',
'before_title' => '<h2 class="widgettitle">',
'after_title' => '</h2>',
) );
}
add_action( 'widgets_init', 'register_my_widgets' );
В файл page-home.php
вставим вывод панели:
<div class="custom">
<?php
if ( function_exists('dynamic_sidebar') )
dynamic_sidebar('homepage-sidebar');
?>
</div>
Более подробно на сайте wp-kama.ru.
Регистрируем и выводим произвольное меню, созданное в панели: «Внешний вид > Меню» (Appearance > Menus)….
Используя PHP можно загружать содержимое SVG-файлов без лишних запросов к серверу, без использования img или…
[vc_message color=»alert-info»] Статья в процессе написания. Начинал писать ее в 2013 году, потом все менялось…
Создаем вариации для товаров в WooCommerce. 1. Во вкладке Product data выбираем Variable Product 2….