WordPress как на ладони
wordpress jino

the_widget() WP 2.8.0

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

Хуки из функции:
Возвращает

Ничего. Выводит на экран HTML код виджета.

Использование

the_widget( $widget, $instance, $args );
$widget(строка) (обязательный)
Название PHP класса, который отвечает за виджет. см. /wp-includes/default-widgets.php. Список ниже...
$instance(массив/строка)

параметры виджета (настройки экземпляра класса).

Можно указать: массив array('dropdown'=>'1') или строку запроса: 'dropdown=1&count=1'.

Какие параметры у каждого виджета смотрите ниже. Или зайдите в админку WP Внешний вид > Виджеты, активируйте нужный виджет и посмотрите какие у него есть параметры. Чтобы узнать конкретное название параметра, смотрите последнее значение атрибута name у поля виджета, например у виджета «облако меток» поле «заголовок» равно name="widget-tag_cloud[2][title]" - значит настройка будет - title.

oblako

По умолчанию: 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()

Базовые виджеты WordPress

WP_Widget_Archives – архивы

the_widget( 'WP_Widget_Archives', $instance, $args );

Возможные элементы $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 ); ?>

Возможные элементы $instance:

title(строка)
Заголовок виджета
По умолчанию: нет

Примеры:

<?php the_widget( 'WP_Widget_Calendar' ); ?>

WP_Widget_Categories – рубрики

<?php the_widget( 'WP_Widget_Categories', $instance, $args ); ?>

Возможные элементы $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 ); ?>

Возможные элементы $instance:

title(строка)
Заголовок виджета.
По умолчанию: __('Meta')

Примеры:

Выведем виджет:

<?php the_widget( 'WP_Widget_Meta' ); ?>

WP_Widget_Pages – постоянные страницы

Выводит список страниц.

<?php the_widget( 'WP_Widget_Pages', $instance, $args ); ?>

Возможные элементы $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 ); ?>

Возможные элементы $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 ); ?>

Возможные элементы $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 ); ?>

Возможные элементы $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 ); ?>

Возможные элементы $instance:

title(строка)
Заголовок формы поиска.
По умолчанию: null

Примеры:

Выведем форму поиска:

<?php the_widget( 'WP_Widget_Search' ); ?>

WP_Widget_Tag_Cloud – облако меток

<?php the_widget( 'WP_Widget_Tag_Cloud', $instance, $args ); ?>

Возможные элементы $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 ); ?>

Возможные элементы $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 ); ?>

Возможные элементы $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 ); ?>

Код the widget: wp-includes/widgets.php WP 4.8.2

<?php
function the_widget( $widget, $instance = array(), $args = array() ) {
	global $wp_widget_factory;

	$widget_obj = $wp_widget_factory->widgets[$widget];
	if ( ! ( $widget_obj instanceof WP_Widget ) ) {
		return;
	}

	$default_args = array(
		'before_widget' => '<div class="widget %s">',
		'after_widget'  => "</div>",
		'before_title'  => '<h2 class="widgettitle">',
		'after_title'   => '</h2>',
	);
	$args = wp_parse_args( $args, $default_args );
	$args['before_widget'] = sprintf( $args['before_widget'], $widget_obj->widget_options['classname'] );

	$instance = wp_parse_args($instance);

	/**
	 * Fires before rendering the requested widget.
	 *
	 * @since 3.0.0
	 *
	 * @param string $widget   The widget's class name.
	 * @param array  $instance The current widget instance's settings.
	 * @param array  $args     An array of the widget's sidebar arguments.
	 */
	do_action( 'the_widget', $widget, $instance, $args );

	$widget_obj->_set(-1);
	$widget_obj->widget($args, $instance);
}

Cвязанные функции

Из метки: sidebar (widget Виджет)

the_widget Комментариев нет

Здравствуйте, !

Ваш комментарий