WP_Widget::display_callback()publicWP 2.8.0

Generates the actual widget content (Do NOT override).

Finds the instance and calls WP_Widget::widget().

Method of the class: WP_Widget{}

Hooks from the method

Return

null. Nothing (null).

Usage

$WP_Widget = new WP_Widget();
$WP_Widget->display_callback( $args, $widget_args );
$args(array) (required)
Display arguments. See WP_Widget::widget() for information on accepted arguments.
$widget_args(int|array)

Internal order number of the widget instance, or array of multi-widget arguments.

Default: 1

  • number(int)
    Number increment used for multiples of the same widget.

Changelog

Since 2.8.0 Introduced.

WP_Widget::display_callback() code WP 6.5.2

public function display_callback( $args, $widget_args = 1 ) {
	if ( is_numeric( $widget_args ) ) {
		$widget_args = array( 'number' => $widget_args );
	}

	$widget_args = wp_parse_args( $widget_args, array( 'number' => -1 ) );
	$this->_set( $widget_args['number'] );
	$instances = $this->get_settings();

	if ( isset( $instances[ $this->number ] ) ) {
		$instance = $instances[ $this->number ];

		/**
		 * Filters the settings for a particular widget instance.
		 *
		 * Returning false will effectively short-circuit display of the widget.
		 *
		 * @since 2.8.0
		 *
		 * @param array     $instance The current widget instance's settings.
		 * @param WP_Widget $widget   The current widget instance.
		 * @param array     $args     An array of default widget arguments.
		 */
		$instance = apply_filters( 'widget_display_callback', $instance, $this, $args );

		if ( false === $instance ) {
			return;
		}

		$was_cache_addition_suspended = wp_suspend_cache_addition();
		if ( $this->is_preview() && ! $was_cache_addition_suspended ) {
			wp_suspend_cache_addition( true );
		}

		$this->widget( $args, $instance );

		if ( $this->is_preview() ) {
			wp_suspend_cache_addition( $was_cache_addition_suspended );
		}
	}
}