the_widget ( $widget, $instance = array(), $args = array() )
参数
  • (string)
    $widget
    The widget’s PHP class name (see class-wp-widget.php).
    Required:
  • (array)
    $instance
    Optional. The widget’s instance settings. Default empty array.
    Required:
    Default: array()
  • (array)
    $args
    { Optional. Array of arguments to configure the display of the widget. @type string $before_widget HTML content that will be prepended to the widget’s HTML output. Default `
    `, where `%s` is the widget’s class name. @type string $after_widget HTML content that will be appended to the widget’s HTML output. Default `

    `. @type string $before_title HTML content that will be prepended to the widget’s title when displayed. Default `

    `. @type string $after_title HTML content that will be appended to the widget’s title when displayed. Default `

    `. }

    Required:
    Default: array()
定义位置
  • wp-includes/widgets.php
    , line 1206
引入
2.8.0
弃用

Output an arbitrary widget as a template tag.

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.' ),
				'register_widget()'
			),
			'4.9.0'
		);
		return;
	}

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

	$default_args          = array(
		'before_widget' => '
', 'after_widget' => '
', 'before_title' => '

', 'after_title' => '

', ); $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 ); }
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。