WP_Widget_Form_Customize_Control::to_json()

In this article

Gather control params for exporting to JavaScript.

Source

public function to_json() {
	global $wp_registered_widgets;

	parent::to_json();
	$exported_properties = array( 'widget_id', 'widget_id_base', 'sidebar_id', 'width', 'height', 'is_wide' );
	foreach ( $exported_properties as $key ) {
		$this->json[ $key ] = $this->$key;
	}

	// Get the widget_control and widget_content.
	require_once ABSPATH . 'wp-admin/includes/widgets.php';

	$widget = $wp_registered_widgets[ $this->widget_id ];
	if ( ! isset( $widget['params'][0] ) ) {
		$widget['params'][0] = array();
	}

	$args = array(
		'widget_id'   => $widget['id'],
		'widget_name' => $widget['name'],
	);

	$args                 = wp_list_widget_controls_dynamic_sidebar(
		array(
			0 => $args,
			1 => $widget['params'][0],
		)
	);
	$widget_control_parts = $this->manager->widgets->get_widget_control_parts( $args );

	$this->json['widget_control'] = $widget_control_parts['control'];
	$this->json['widget_content'] = $widget_control_parts['content'];
}

Changelog

VersionDescription
3.9.0Introduced.

User Contributed Notes

You must log in before being able to contribute a note or feedback.