<?php
if ( ! class_exists( 'WP_Customize_Control' ) )
return NULL;
/**
* A class to create a dropdown for all categories in your WordPress site
*/
class Fairy_Customize_Category_Dropdown_Control extends WP_Customize_Control {
/**
* Render the control's content.
*
* @return void
* @since 1.0.0
*/
public function render_content() {
$fairy_dropdown = wp_dropdown_categories(
array(
'name' => 'customize-dropdown-categories' . $this->id,
'echo' => 0,
'show_option_none' => esc_html__( '— Select Category —','fairy'),
'option_none_value' => '0',
'selected' => $this->value(),
)
);
// Hackily add in the data link parameter.
$fairy_dropdown = str_replace( '<select', '<select ' . $this->get_link(), $fairy_dropdown );
printf(
'<label class="customize-control-select"><span class="customize-control-title">%s</span><span class="description customize-control-description">%s</span> %s </label>',
$this->label,
$this->description,
$fairy_dropdown
);
}
}
/* Message Control*/
if ( class_exists( 'WP_Customize_Control' ) && ! class_exists( 'Fairy_Customize_Message_Control' )):
/**
* Custom Control for html display
* @subpackage
* @since 1.0.0
*
*/
class Fairy_Customize_Message_Control extends WP_Customize_Control {
/**
* Declare the control type.
* @access public
* @var string
*/
public $type = 'message';
/**
* Function to render the content on the theme customizer page
*
* @access public
* @since 1.0.0
*
* @param null
* @return void
*
*/
public function render_content() {
if ( empty( $this->description ) ) {
return;
}
$allowed_html = array(
'a' => array(
'href' => array(),
'title' => array(),
'data-section' => array(),
'data-panel' => array(),
'class' => array(),
'target' => array(),
),
'hr' => array(),
'br' => array(),
'em' => array(),
'strong' => array(),
);
?>
<div class="fairy-customize-customize-message">
<?php
echo wp_kses( $this->description , $allowed_html )
?>
</div> <!-- .fairy-customize-customize-message -->
<?php
}
}
endif;