add_control( * 'structure', * [ * 'label' => __( 'Structure', 'plugin-domain' ), * 'type' => Controls_Manager::STRUCTURE, * 'default' => '10', * 'render_type' => 'none', * ] * ); * * @since 1.0.0 * * @param string $label Optional. The label that appears above of the * field. Default is empty. * @param string $description Optional. The description that appears below the * field. Default is empty. * @param int $default Optional. The field default value. Default is * empty. * @param string $separator Optional. Set the position of the control separator. * Available values are 'default', 'before', 'after' * and 'none'. 'default' will position the separator * depending on the control type. 'before' / 'after' * will position the separator before/after the * control. 'none' will hide the separator. Default * is 'none'. * @param bool $show_label Optional. Whether to display the label. Default is * true. * @param bool $label_block Optional. Whether to display the label in a * separate line. Default is true. */ class Control_Structure extends Base_Data_Control { /** * Retrieve structure control type. * * @since 1.0.0 * @access public * * @return string Control type. */ public function get_type() { return 'structure'; } /** * Render structure control output in the editor. * * Used to generate the control HTML in the editor using Underscore JS * template. The variables for the class are available using `data` JS * object. * * @since 1.0.0 * @access public */ public function content_template() { $preset_control_uid = $this->get_control_uid( '{{ preset.key }}' ); ?>