[ Index ] |
PHP Cross Reference of WordPress |
[Summary view] [Print] [Text view]
1 <?php 2 /** 3 * Customize API: WP_Widget_Form_Customize_Control class 4 * 5 * @package WordPress 6 * @subpackage Customize 7 * @since 4.4.0 8 */ 9 10 /** 11 * Widget Form Customize Control class. 12 * 13 * @since 3.9.0 14 * 15 * @see WP_Customize_Control 16 */ 17 class WP_Widget_Form_Customize_Control extends WP_Customize_Control { 18 /** 19 * Customize control type. 20 * 21 * @since 3.9.0 22 * @var string 23 */ 24 public $type = 'widget_form'; 25 26 /** 27 * Widget ID. 28 * 29 * @since 3.9.0 30 * @var string 31 */ 32 public $widget_id; 33 34 /** 35 * Widget ID base. 36 * 37 * @since 3.9.0 38 * @var string 39 */ 40 public $widget_id_base; 41 42 /** 43 * Sidebar ID. 44 * 45 * @since 3.9.0 46 * @var string 47 */ 48 public $sidebar_id; 49 50 /** 51 * Widget status. 52 * 53 * @since 3.9.0 54 * @var bool True if new, false otherwise. Default false. 55 */ 56 public $is_new = false; 57 58 /** 59 * Widget width. 60 * 61 * @since 3.9.0 62 * @var int 63 */ 64 public $width; 65 66 /** 67 * Widget height. 68 * 69 * @since 3.9.0 70 * @var int 71 */ 72 public $height; 73 74 /** 75 * Widget mode. 76 * 77 * @since 3.9.0 78 * @var bool True if wide, false otherwise. Default false. 79 */ 80 public $is_wide = false; 81 82 /** 83 * Gather control params for exporting to JavaScript. 84 * 85 * @since 3.9.0 86 * 87 * @global array $wp_registered_widgets 88 */ 89 public function to_json() { 90 global $wp_registered_widgets; 91 92 parent::to_json(); 93 $exported_properties = array( 'widget_id', 'widget_id_base', 'sidebar_id', 'width', 'height', 'is_wide' ); 94 foreach ( $exported_properties as $key ) { 95 $this->json[ $key ] = $this->$key; 96 } 97 98 // Get the widget_control and widget_content. 99 require_once ABSPATH . 'wp-admin/includes/widgets.php'; 100 101 $widget = $wp_registered_widgets[ $this->widget_id ]; 102 if ( ! isset( $widget['params'][0] ) ) { 103 $widget['params'][0] = array(); 104 } 105 106 $args = array( 107 'widget_id' => $widget['id'], 108 'widget_name' => $widget['name'], 109 ); 110 111 $args = wp_list_widget_controls_dynamic_sidebar( 112 array( 113 0 => $args, 114 1 => $widget['params'][0], 115 ) 116 ); 117 $widget_control_parts = $this->manager->widgets->get_widget_control_parts( $args ); 118 119 $this->json['widget_control'] = $widget_control_parts['control']; 120 $this->json['widget_content'] = $widget_control_parts['content']; 121 } 122 123 /** 124 * Override render_content to be no-op since content is exported via to_json for deferred embedding. 125 * 126 * @since 3.9.0 127 */ 128 public function render_content() {} 129 130 /** 131 * Whether the current widget is rendered on the page. 132 * 133 * @since 4.0.0 134 * 135 * @return bool Whether the widget is rendered. 136 */ 137 public function active_callback() { 138 return $this->manager->widgets->is_widget_rendered( $this->widget_id ); 139 } 140 }
title
Description
Body
title
Description
Body
title
Description
Body
title
Body
Generated: Thu Nov 21 01:00:03 2024 | Cross-referenced by PHPXref 0.7.1 |