choices)) { return; } ?> icon_array = $args['icon_array']; } parent::__construct($manager, $id, $args); } public function render_content() { ?> choices)) { return; } ?> label); ?> description) { ?> description); ?> value()) ? explode(',', $this->value()) : $this->value(); ?>
include_admin_print_footer = $args['include_admin_print_footer']; } if (!empty($args['teeny'])) { $this->teeny = $args['teeny']; } } /** * Render the content on the theme customizer page */ public function render_content() { ?> label); ?> link(); ?> value="value()); ?>"> $this->id, 'teeny' => $this->teeny, 'textarea_rows' => 6 ); $page_content = $this->value(); wp_editor($page_content, $this->id, $settings); if ($this->include_admin_print_footer === true) { do_action('admin_print_footer_scripts'); } } } class Business_shuffle_Background_Control extends WP_Customize_Upload_Control { /** * The type of customize control being rendered. * * @since 1.0.0 * @access public * @var string */ public $type = 'background-image'; /** * Mime type for upload control. * * @since 1.0.0 * @access public * @var string */ public $mime_type = 'image'; /** * Labels for upload control buttons. * * @since 1.0.0 * @access public * @var array */ public $button_labels = array(); /** * Field labels * * @since 1.0.0 * @access public * @var array */ public $field_labels = array(); /** * Background choices for the select fields. * * @since 1.0.0 * @access public * @var array */ public $background_choices = array(); /** * Constructor. * * @since 1.0.0 * @uses WP_Customize_Upload_Control::__construct() * * @param WP_Customize_Manager $manager Customizer bootstrap instance. * @param string $id Control ID. * @param array $args Optional. Arguments to override class property defaults. */ public function __construct($manager, $id, $args = array()) { // Calls the parent __construct parent::__construct($manager, $id, $args); // Set button labels for image uploader $button_labels = $this->get_button_labels(); $this->button_labels = apply_filters('customizer_background_button_labels', $button_labels, $id); // Set field labels $field_labels = $this->get_field_labels(); $this->field_labels = apply_filters('customizer_background_field_labels', $field_labels, $id); // Set background choices $background_choices = $this->get_background_choices(); $this->background_choices = apply_filters('customizer_background_choices', $background_choices, $id); } /** * Add custom parameters to pass to the JS via JSON. * * @since 1.0.0 * @access public * @return void */ public function to_json() { parent::to_json(); $background_choices = $this->background_choices; $field_labels = $this->field_labels; // Loop through each of the settings and set up the data for it. foreach ($this->settings as $setting_key => $setting_id) { $this->json[$setting_key] = array( 'link' => $this->get_link($setting_key), 'value' => $this->value($setting_key), 'label' => isset($field_labels[$setting_key]) ? $field_labels[$setting_key] : '' ); if ('image_url' === $setting_key) { if ($this->value($setting_key)) { // Get the attachment model for the existing file. $attachment_id = attachment_url_to_postid($this->value($setting_key)); if ($attachment_id) { $this->json['attachment'] = wp_prepare_attachment_for_js($attachment_id); } } } elseif ('repeat' === $setting_key) { $this->json[$setting_key]['choices'] = $background_choices['repeat']; } elseif ('size' === $setting_key) { $this->json[$setting_key]['choices'] = $background_choices['size']; } elseif ('position' === $setting_key) { $this->json[$setting_key]['choices'] = $background_choices['position']; } elseif ('attach' === $setting_key) { $this->json[$setting_key]['choices'] = $background_choices['attach']; } } } /** * Render a JS template for the content of the media control. * * @since 1.0.0 */ public function content_template() { parent::content_template(); ?>