mirror of
https://github.com/WordPress/WordPress.git
synced 2024-11-14 22:56:19 +01:00
aaf99e6913
WordPress' code just... wasn't. This is now dealt with. Props jrf, pento, netweb, GaryJ, jdgrimes, westonruter, Greg Sherwood from PHPCS, and everyone who's ever contributed to WPCS and PHPCS. Fixes #41057. Built from https://develop.svn.wordpress.org/trunk@42343 git-svn-id: http://core.svn.wordpress.org/trunk@42172 1a063a9b-81f0-0310-95a4-ce76da25c4cd
86 lines
2.0 KiB
PHP
86 lines
2.0 KiB
PHP
<?php
|
|
/**
|
|
* Customize API: WP_Widget_Form_Customize_Control class
|
|
*
|
|
* @package WordPress
|
|
* @subpackage Customize
|
|
* @since 4.4.0
|
|
*/
|
|
|
|
/**
|
|
* Widget Form Customize Control class.
|
|
*
|
|
* @since 3.9.0
|
|
*
|
|
* @see WP_Customize_Control
|
|
*/
|
|
class WP_Widget_Form_Customize_Control extends WP_Customize_Control {
|
|
public $type = 'widget_form';
|
|
public $widget_id;
|
|
public $widget_id_base;
|
|
public $sidebar_id;
|
|
public $is_new = false;
|
|
public $width;
|
|
public $height;
|
|
public $is_wide = false;
|
|
|
|
/**
|
|
* Gather control params for exporting to JavaScript.
|
|
*
|
|
* @since 3.9.0
|
|
*
|
|
* @global array $wp_registered_widgets
|
|
*/
|
|
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'];
|
|
}
|
|
|
|
/**
|
|
* Override render_content to be no-op since content is exported via to_json for deferred embedding.
|
|
*
|
|
* @since 3.9.0
|
|
*/
|
|
public function render_content() {}
|
|
|
|
/**
|
|
* Whether the current widget is rendered on the page.
|
|
*
|
|
* @since 4.0.0
|
|
*
|
|
* @return bool Whether the widget is rendered.
|
|
*/
|
|
public function active_callback() {
|
|
return $this->manager->widgets->is_widget_rendered( $this->widget_id );
|
|
}
|
|
}
|