WP_Widget_Form_Customize_Control::to_json()publicWP 3.9.0

Gather control params for exporting to JavaScript.

Method of the class: WP_Widget_Form_Customize_Control{}

No Hooks.

Return

null. Nothing (null).

Usage

$WP_Widget_Form_Customize_Control = new WP_Widget_Form_Customize_Control();
$WP_Widget_Form_Customize_Control->to_json();

Notes

  • Global. Array. $wp_registered_widgets

Changelog

Since 3.9.0 Introduced.

WP_Widget_Form_Customize_Control::to_json() code WP 6.6.2

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'];
}