функция
since 2.8.0
the_widget()
Проверено на WordPress 6.9, обновлено Источник: WordPress Developer Resources.
Сигнатура
the_widget( string $widget, array $instance = array(), array $args = array() )
Описание
Выводит произвольный виджет в виде шаблонного тега.
Параметры
$widget
string
обязательный
Имя PHP-класса виджета (см. class-wp-widget.php).
$instance
array
необязательный
= array()
Настройки экземпляра виджета.
$args
array
необязательный
= array()
Массив аргументов для настройки отображения виджета.
before_widget stringHTML-содержимое, добавляемое перед HTML-выводом виджета.
По умолчанию .
before_title stringHTML-содержимое, добавляемое перед заголовком виджета при выводе.
По умолчанию
. after_title stringHTML-содержимое, добавляемое после заголовка виджета при выводе. По умолчанию
.Исходный код
wp-includes/widgets.php:1218
function the_widget( $widget, $instance = array(), $args = array() ) {
global $wp_widget_factory;
if ( ! isset( $wp_widget_factory->widgets[ $widget ] ) ) {
_doing_it_wrong(
__FUNCTION__,
sprintf(
/* translators: %s: register_widget() */
__( 'Widgets need to be registered using %s, before they can be displayed.' ),
'<code>register_widget()</code>'
),
'4.9.0'
);
return;
}
$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 );
/** This filter is documented in wp-includes/class-wp-widget.php */
$instance = apply_filters( 'widget_display_callback', $instance, $widget_obj, $args );
if ( false === $instance ) {
return;
}
/**
* 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 );
}
История изменений
| Версия | Описание |
|---|---|
| 2.8.0 | Introduced. |

