WordPress at a glance

the_widget() WP 1.0

Output an arbitrary widget as a template tag.

Notes:

  • Global. WP_Widget_Factory. $wp_widget_factory
Hooks from function:
Return

Nothing (null).

Usage

the_widget( $widget, $instance, $args );
$widget(string) (required)
The widget's PHP class name (see class-wp-widget.php).
$instance(array)
The widget's instance settings.
Default: empty array
$args(array)

Array of arguments to configure the display of the widget.

  • $before_widget (string)
    HTML content that will be prepended to the widget's HTML output.
    Default: <div class="widget %s">, where %s is the widget's class name

  • $after_widget (string)
    HTML content that will be appended to the widget's HTML output.
    Default: </div>

  • $before_title (string)
    HTML content that will be prepended to the widget's title when displayed.
    Default: <h2 class="widgettitle">

  • $after_title (string)
    HTML content that will be appended to the widget's title when displayed.
    Default: </h2>

Default: array()

Code of the_widget: wp-includes/widgets.php VER 4.9.8

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

	if ( ! isset( $wp_widget_factory->widgets[ $widget ] ) ) {
		/* translators: %s: register_widget() */
		_doing_it_wrong( __FUNCTION__, sprintf( __( '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);

	/**
	 * 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);
}

Related Functions

From tag: Sidebar (widgets)

No comments
    Hello, !     Log In . Register