the_widget()
Выводит указанный виджет за пределами сайдбара. Можно использовать в любом месте шаблона.
Хуки из функции
Возвращает
null
. Ничего. Выводит на экран HTML код виджета.
Использование
the_widget( $widget, $instance, $args );
- $widget(строка) (обязательный)
Название PHP класса, который отвечает за виджет. см. /wp-includes/default-widgets.php.
Виджеты из коробки:
WP_Widget_Pages WP_Widget_Links WP_Widget_Search WP_Widget_Archives WP_Widget_Media WP_Widget_Media_Audio WP_Widget_Media_Image WP_Widget_Media_Video WP_Widget_Media_Gallery WP_Widget_Meta WP_Widget_Calendar WP_Widget_Text WP_Widget_Categories WP_Widget_Recent_Posts WP_Widget_Recent_Comments WP_Widget_RSS WP_Widget_Tag_Cloud WP_Nav_Menu_Widget WP_Widget_Custom_HTML WP_Widget_Block
Подробное описание каждого виджета смотрите ниже.
- $instance(массив/строка)
Параметры виджета (настройки экземпляра класса).
Можно указать: массив
array('dropdown'=>'1')
или строку запроса:'dropdown=1&count=1'
.Какие параметры у каждого виджета смотрите ниже. Или зайдите в админку WP
Внешний вид > Виджеты
, активируйте нужный виджет и посмотрите какие у него есть параметры. Чтобы узнать конкретное название параметра, смотрите последнее значение атрибута name у поля виджета, например у виджета «облако меток» поле «заголовок» равноname="widget-tag_cloud[2][title]"
- значит настройка будет -title
.По умолчанию: array()
- $args(массив)
Массив параметров для изменения отображения виджета. Может быть:
-
before_widget(строка)
HTML который будет добавлен перед кодом виджета.
По умолчанию: <div class="widget %s">, где %s class виджета. -
after_widget(строка)
HTML который будет добавлен после кода виджета.
По умолчанию: </div> -
before_title(строка)
HTML который будет добавлен перед кодом заголовка виджета.
По умолчанию: <h2 class="widgettitle"> - after_title(строка)
HTML который будет добавлен после кода заголовка виджета.
По умолчанию: </h2>
По умолчанию: array()
-
Примеры
#1 Демо
Показать виджет с настройками по умолчанию:
<?php the_widget( 'WP_Widget_Categories' ); ?>
Показать виджет с настройками:
<?php the_widget( 'WP_Widget_Categories', 'dropdown=1&count=1' ); ?>
Показать виджет с пользовательскими параметрами:
<?php $instance = array( 'dropdown' => 1, 'count' => 1, ); $args = array( 'before_widget' => '<div id="%1$s" class="widget %2$s">', 'after_widget' => '</div>', 'before_title' => '<div class="widget-title">', 'after_title' => '</div>' ); the_widget( 'WP_Widget_Categories', $instance, $args ); ?>
Базовые виджеты WordPress
WP_Widget_Archives – архивы
the_widget( 'WP_Widget_Archives', $instance, $args );
- Код виджета
- classname:
widget_archive
- id_base:
archives
Параметры виджета - возможные поля $instance:
- title(строка)
- Заголовок виджета.
По умолчанию: __('Archives') - count(число)
- Сколько постов для каждого архива выводить. Параметр show_post_count для функции wp_get_archives().
По умолчанию: 0 (спрятать) - dropdown(логический)
- 1 - как выдающий список. 0 - как ul список.
По умолчанию: 0 (ul список)
Примеры:
Базовый вывод:
<?php the_widget( 'WP_Widget_Archives' ); ?>
Выпадающий список:
<?php the_widget( 'WP_Widget_Archives', 'dropdown=1' ); ?>
WP_Widget_Calendar – календарь
<?php the_widget( 'WP_Widget_Calendar', $instance, $args ); ?>
- Код виджета
- classname:
widget_calendar
- id_base:
calendar
Параметры виджета - возможные поля $instance:
- title(строка)
- Заголовок виджета
По умолчанию: ''
Примеры:
<?php the_widget( 'WP_Widget_Calendar' ); ?>
WP_Widget_Categories – рубрики
<?php the_widget( 'WP_Widget_Categories', $instance, $args ); ?>
- Код виджета
- classname:
widget_categories
- id_base:
categories
Параметры виджета - возможные поля $instance:
- title(строка)
- Заголовок виджета.
По умолчанию: __( 'Categories' ) - count(число)
- Количество постов в каждой категории. Параметр
show_count
в функциях: wp_dropdown_categories() или wp_list_categories().
По умолчанию: 0 (спрятать) - hierarchical(логический)
- 1 - Древовидный вывод: дочерние и родительские рубрики. 0 - один уровень для всех.
По умолчанию: 0 (сплошной вывод) - dropdown(логический)
- 1 - как выдающий список. 0 - как ul список.
По умолчанию: 0 (гд список)
Примеры:
Базовое использование:
<?php the_widget('WP_Widget_Categories'); ?>
Выпадающий список с количество записей в рубриках:
<?php the_widget( 'WP_Widget_Categories', 'dropdown=1&count=1' ); ?>
WP_Widget_Meta – вход/выход и мета данные
Выводит полезные ссылки: вход/выход, админка, фиды, WordPress ссылки.
<?php the_widget( 'WP_Widget_Meta', $instance, $args ); ?>
- Код виджета
- classname:
widget_meta
- id_base:
meta
Параметры виджета - возможные поля $instance:
- title(строка)
- Заголовок виджета.
По умолчанию: __('Meta')
Примеры:
Выведем виджет:
<?php the_widget( 'WP_Widget_Meta' ); ?>
WP_Widget_Pages – постоянные страницы
Выводит список страниц.
<?php the_widget( 'WP_Widget_Pages', $instance, $args ); ?>
- Код виджета
- classname:
widget_pages
- id_base:
pages
Параметры виджета - возможные поля $instance:
- title(строка)
- Заголовок виджета.
По умолчанию: __('Pages') - sortby(строка)
- Колонка для сортировки. Параметр sort_column функции wp_list_pages().
По умолчанию: 'menu_order' - exclude(строка/массив)
- ID записей которые нужно исключить из списка. Через запятую или в массиве.
По умолчанию: ''
Примеры:
Выведем список страниц:
<?php the_widget( 'WP_Widget_Pages' ); ?>
Обернем заголовок виджета в h3 тег и отсортируем страницы по дате изменения:
<?php the_widget('WP_Widget_Pages', 'title=Измененные страницы&sortby=post_modified', 'before_title=<h3>&after_title=</h3>'); ?>
WP_Widget_Recent_Comments – последние комментарии
<?php the_widget( 'WP_Widget_Recent_Comments', $instance, $args ); ?>
- Код виджета
- classname:
widget_recent_comments
- id_base:
recent-comments
Параметры виджета - возможные поля $instance:
- title(строка)
- Заголовок виджета.
По умолчанию: __('Recent Comments') - number(число)
- Число комментариев для вывода. Максимум 15.
По умолчанию: 5
Примеры:
Выведем последние комментарии:
<?php the_widget( 'WP_Widget_Recent_Comments' ); ?>
WP_Widget_Recent_Posts – последние записи
<?php the_widget( 'WP_Widget_Recent_Posts', $instance, $args ); ?>
- Код виджета
- classname:
widget_recent_entries
- id_base:
recent-entries
Параметры виджета - возможные поля $instance:
- title(строка)
- Заголовок виджета.
По умолчанию: __('Recent Posts') - number(число)
- Число записей для вывода. Максимум 15.
По умолчанию: 5
Примеры:
Выведем последние записи:
<?php the_widget( 'WP_Widget_Recent_Posts' ); ?>
WP_Widget_RSS – RSS
Выводит список элементов по указанному УРЛ на RSS или Атом вида.
<?php the_widget( 'WP_Widget_RSS', $instance, $args ); ?>
- Код виджета
- classname: нет
- id_base:
rss
Параметры виджета - возможные поля $instance:
- title(строка)
- Заголовок виджета.
По умолчанию: берется из Указанного УРЛ - url(строка) (обязательный)
- УРЛ на RSS или Атом фид.
- items(число)
- Количество выводимых ссылок.
По умолчанию: все из фида - show_summary(логический)
- Выводить ли короткое описание под ссылками?
По умолчанию: false - show_author(логический)
- Выводить ли автора поста?
По умолчанию: false - show_date(логический)
- Выводить ли дату публикации?
По умолчанию: false
Примеры:
Выведем записи этого сайта:
the_widget( 'WP_Widget_RSS', array( 'feed' => 'http://wp-kama.ru/feed', 'items' => 5, 'show_summary' => true ) );
WP_Widget_Search – поиск
<?php the_widget( 'WP_Widget_Search', $instance, $args ); ?>
- Код виджета
- classname:
widget_search
- id_base:
search
Параметры виджета - возможные поля $instance:
- title(строка)
- Заголовок формы поиска.
По умолчанию: null
Примеры:
Выведем форму поиска:
<?php the_widget( 'WP_Widget_Search' ); ?>
WP_Widget_Tag_Cloud – облако меток
<?php the_widget( 'WP_Widget_Tag_Cloud', $instance, $args ); ?>
- Код виджета
- classname: нет
- id_base:
tag_cloud
Параметры виджета - возможные поля $instance:
- title(строка)
- Заголовок виджета.
По умолчанию: __('Tags') - taxonomy(строка)
- Название таксономии из элементов которой будет построено облако.
По умолчанию: post_tag
Примеры:
Выведем облако меток:
<?php the_widget('WP_Widget_Tag_Cloud'); ?>
WP_Widget_Text – произвольные текст
Выводит любой текст. В тексте можно использовать HTML теги.
<?php the_widget( 'WP_Widget_Text', $instance, $args ); ?>
- Код виджета
- classname:
widget_text
- id_base:
text
Параметры виджета - возможные поля $instance:
- title(строка)
- Заголовок виджета.
По умолчанию: null (без заголовка) - text(строка)
- Текст который нужно вывести в виджете. Можно использовать HTML теги.
По умолчанию: '' - filter(строка)
- Если указать, то вывод будет обработан функцией wpautop().
По умолчанию: ''
Примеры:
Выведем произвольный текст:
the_widget( 'WP_Widget_Text', 'title=Мой Текст &text=Сам <b>текст</b>' ); /* Выведет на экран: <div class="widget widget_text"> <h2 class="widgettitle">Мой Текст </h2> <div class="textwidget">Сам <b>текст</b></div> </div> */
WP_Nav_Menu_Widget – меню
Выводит ссылки из указанного меню. Учитывает вложенность и порядок элементов.
<?php the_widget( 'WP_Nav_Menu_Widget', $instance, $args ); ?>
- Код виджета
- classname:
nav_menu_widget
- id_base:
nav_menu
Параметры виджета - возможные поля $instance:
- title(строка)
- Заголовок виджета.
По умолчанию: null - nav_menu(строка/число) (обязательный)
- ID меню, которое нужно вывести. ID меню можно узнать в админке, в настройках меню - смотрим в УРЛ (там ID видно) или берем само название меню в качестве ID.
Примеры:
Выведем меню 2 и "Мое меню":
the_widget( 'WP_Nav_Menu_Widget', array('nav_menu' => 2) ); the_widget( 'WP_Nav_Menu_Widget', array('nav_menu' => 'Мое меню') );
Для вывода меню в WordPress есть специальная функция: wp_nav_menu()
Произвольный виджет
Вывод любого виджета. Пусть его класс называется "My_Custom_Widget".
<?php the_widget( 'My_Custom_Widget', $instance, $args ); ?>
-
Название класса:
WIDGET CLASS NAME
-
Параметры (настройки): произвольно
- Аргументы: произвольно
Примеры:
Виджет регистрируется в коде так. Подробнее про регистрацию виджета смотрите в примерах register_widget():
class My_Custom_Widget extends WP_Widget{ // your code }
А затем выводиться так:
<?php the_widget( 'My_Custom_Widget', $instance, $args ); ?>
Заметки
- Global. WP_Widget_Factory. $wp_widget_factory
Список изменений
С версии 2.8.0 | Введена. |