first commit
This commit is contained in:
@@ -0,0 +1,248 @@
|
||||
<?php
|
||||
/**
|
||||
* Add controls to customizer
|
||||
*
|
||||
*/
|
||||
if ( ! class_exists( 'HU_controls' ) ) :
|
||||
class HU_controls extends WP_Customize_Control {
|
||||
public $type;
|
||||
public $link;
|
||||
public $title;
|
||||
public $label;
|
||||
public $buttontext;
|
||||
public $settings;
|
||||
public $hr_after;
|
||||
public $notice;
|
||||
//number vars
|
||||
public $step;
|
||||
public $min;
|
||||
public $icon;
|
||||
|
||||
public $ubq_section;
|
||||
|
||||
static $enqueued_resources;
|
||||
|
||||
public function render_content() {
|
||||
do_action( '__before_setting_control' , $this -> id );
|
||||
|
||||
switch ( $this -> type) {
|
||||
case 'hr':
|
||||
echo '<hr class="czr-customizer-separator" />';
|
||||
break;
|
||||
|
||||
|
||||
case 'title' :
|
||||
?>
|
||||
<?php if (isset( $this->title)) : ?>
|
||||
<h3 class="czr-customizr-title"><?php echo esc_html( $this->title); ?></h3>
|
||||
<?php endif; ?>
|
||||
<?php if (isset( $this->notice)) : ?>
|
||||
<i class="czr-notice"><?php echo $this -> notice ?></i>
|
||||
<?php endif; ?>
|
||||
|
||||
<?php
|
||||
break;
|
||||
|
||||
case 'select':
|
||||
if ( empty( $this->choices ) )
|
||||
return;
|
||||
?>
|
||||
<?php if (!empty( $this->title)) : ?>
|
||||
<h3 class="czr-customizr-title"><?php echo esc_html( $this->title); ?></h3>
|
||||
<?php endif; ?>
|
||||
<label>
|
||||
<span class="customize-control-title"><?php echo $this->label; ?></span>
|
||||
<?php $this -> hu_print_select_control( '' ) ?>
|
||||
<?php if(!empty( $this -> notice)) : ?>
|
||||
<span class="czr-notice"><?php echo $this -> notice ?></span>
|
||||
<?php endif; ?>
|
||||
</label>
|
||||
<?php
|
||||
|
||||
break;
|
||||
|
||||
|
||||
case 'number':
|
||||
?>
|
||||
<?php if (isset( $this->title)) : ?>
|
||||
<h3 class="czr-customizr-title"><?php echo esc_html( $this->title); ?></h3>
|
||||
<?php endif; ?>
|
||||
<label>
|
||||
<span class="czr-number-label customize-control-title"><?php echo $this->label ?></span>
|
||||
<input <?php $this->link() ?> type="number" step="<?php echo $this-> step ?>" min="<?php echo $this-> min ?>" id="posts_per_page" value="<?php echo $this->value() ?>" class="czr-number-input small-text">
|
||||
<?php if(!empty( $this -> notice)) : ?>
|
||||
<span class="czr-notice"><?php echo $this-> notice ?></span>
|
||||
<?php endif; ?>
|
||||
</label>
|
||||
<?php
|
||||
break;
|
||||
|
||||
case 'checkbox':
|
||||
case 'nimblecheck':
|
||||
?>
|
||||
<?php if (isset( $this->title)) : ?>
|
||||
<h3 class="czr-customizr-title"><?php echo esc_html( $this->title); ?></h3>
|
||||
<?php endif; ?>
|
||||
|
||||
<?php if ( 'checkbox' === $this->type ) : ?>
|
||||
<?php
|
||||
printf('<div class="czr-check-label"><label><span class="customize-control-title">%1$s</span></label></div>',
|
||||
$this->label
|
||||
);
|
||||
?>
|
||||
<input <?php $this->link(); ?> type="checkbox" value="<?php echo esc_attr( $this->value() ); ?>" <?php checked( $this->value() ); ?> />
|
||||
<?php elseif ( 'nimblecheck' === $this->type ) : ?>
|
||||
<div class="czr-control-nimblecheck">
|
||||
<?php
|
||||
printf('<div class="czr-check-label"><label><span class="customize-control-title">%1$s</span></label></div>',
|
||||
$this->label
|
||||
);
|
||||
?>
|
||||
<div class="nimblecheck-wrap">
|
||||
<input id="nimblecheck-<?php echo $this -> id; ?>" <?php $this->link(); ?> type="checkbox" value="<?php echo esc_attr( $this->value() ); ?>" <?php checked( $this->value() ); ?> class="nimblecheck-input">
|
||||
<label for="nimblecheck-<?php echo $this -> id; ?>" class="nimblecheck-label">Switch</label>
|
||||
</div>
|
||||
</div>
|
||||
<?php endif; ?>
|
||||
|
||||
<?php if(!empty( $this -> notice)) : ?>
|
||||
<span class="czr-notice"><?php echo $this-> notice ?></span>
|
||||
<?php endif; ?>
|
||||
<?php
|
||||
break;
|
||||
|
||||
case 'textarea':
|
||||
?>
|
||||
<?php if (isset( $this->title)) : ?>
|
||||
<h3 class="czr-customizr-title"><?php echo esc_html( $this->title); ?></h3>
|
||||
<?php endif; ?>
|
||||
<label>
|
||||
<span class="customize-control-title"><?php echo $this->label; ?></span>
|
||||
<?php if(!empty( $this -> notice)) : ?>
|
||||
<span class="czr-notice"><?php echo $this-> notice; ?></span>
|
||||
<?php endif; ?>
|
||||
<textarea class="widefat" rows="3" cols="10" <?php $this->link(); ?>><?php echo esc_html( $this->value() ); ?></textarea>
|
||||
</label>
|
||||
<?php
|
||||
break;
|
||||
|
||||
case 'url':
|
||||
case 'email':
|
||||
?>
|
||||
<?php if (isset( $this->title)) : ?>
|
||||
<h3 class="czr-customizr-title"><?php echo esc_html( $this->title); ?></h3>
|
||||
<?php endif; ?>
|
||||
<?php
|
||||
printf('<label><span class="customize-control-title %1$s">%2$s</span><input type="text" value="%3$s" %4$s /></label>',
|
||||
! empty( $this -> icon) ? $this -> icon : '',
|
||||
$this->label,
|
||||
call_user_func( array( HU_utils_settings_map::$instance, 'hu_sanitize_' . $this -> type), $this->value() ),
|
||||
call_user_func( array( $this, 'get'.'_'.'link' ) )
|
||||
);
|
||||
break;
|
||||
|
||||
|
||||
default:
|
||||
global $wp_version;
|
||||
?>
|
||||
<?php if (isset( $this->title)) : ?>
|
||||
<h3 class="czr-customizr-title"><?php echo esc_html( $this->title); ?></h3>
|
||||
<?php endif; ?>
|
||||
<label>
|
||||
<?php if ( ! empty( $this->label ) ) : ?>
|
||||
<span class="customize-control-title"><?php echo $this->label; ?></span>
|
||||
<?php endif; ?>
|
||||
<?php if ( ! empty( $this->description ) ) : ?>
|
||||
<span class="description customize-control-description"><?php echo $this->description; ?></span>;;;
|
||||
<?php endif; ?>
|
||||
<?php if ( ! version_compare( $wp_version, '4.0', '>=' ) ) : ?>
|
||||
<input type="<?php echo esc_attr( $this->type ); ?>" value="<?php echo esc_attr( $this->value() ); ?>" <?php $this->link(); ?> />
|
||||
<?php else : ?>
|
||||
<input type="<?php echo esc_attr( $this->type ); ?>" <?php $this->input_attrs(); ?> value="<?php echo esc_attr( $this->value() ); ?>" <?php $this->link(); ?> />
|
||||
<?php endif; ?>
|
||||
<?php if(!empty( $this -> notice)) : ?>
|
||||
<span class="czr-notice"><?php echo $this-> notice; ?></span>
|
||||
<?php endif; ?>
|
||||
</label>
|
||||
<?php
|
||||
break;
|
||||
}//end switch
|
||||
do_action( '__after_setting_control' , $this -> id );
|
||||
}//end function
|
||||
|
||||
|
||||
|
||||
|
||||
private function hu_print_select_control($class) {
|
||||
printf('<select %1$s class="%2$s">%3$s</select>',
|
||||
call_user_func( array( $this, 'get'.'_'.'link' ) ),
|
||||
$class,
|
||||
$this -> hu_get_select_options()
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
private function hu_get_select_options() {
|
||||
$_options_html = '';
|
||||
switch ( $this -> id ) {
|
||||
default:
|
||||
foreach ( $this->choices as $value => $label ) {
|
||||
$_options_html .= sprintf('<option value="%1$s" %2$s>%3$s</option>',
|
||||
esc_attr( $value ),
|
||||
selected( $this->value(), $value, false ),
|
||||
$label
|
||||
);
|
||||
}
|
||||
break;
|
||||
}//end switch
|
||||
return $_options_html;
|
||||
}//end of fn
|
||||
|
||||
|
||||
/**
|
||||
* Enqueue scripts/styles
|
||||
* fired by the parent Control class constructor
|
||||
*
|
||||
*/
|
||||
// public function enqueue() {
|
||||
// if ( ! empty( self::$enqueued_resources ) )
|
||||
// return;
|
||||
|
||||
// self::$enqueued_resources = true;
|
||||
|
||||
// wp_enqueue_script( 'wp-color-picker' );
|
||||
// wp_enqueue_style( 'wp-color-picker' );
|
||||
|
||||
// wp_enqueue_style(
|
||||
// 'font-awesome',
|
||||
// sprintf('%1$s/assets/front/css/font-awesome.min.css', get_template_directory_uri() ),
|
||||
// array(),
|
||||
// HUEMAN_VER,
|
||||
// $media = 'all'
|
||||
// );
|
||||
|
||||
// //select2 stylesheet
|
||||
// //overriden by some specific style in theme-customzer-control.css
|
||||
// wp_enqueue_style(
|
||||
// 'select2-css',
|
||||
// sprintf('%1$s/assets/czr/css/lib/select2.min.css', get_template_directory_uri() ),
|
||||
// array( 'customize-controls' ),
|
||||
// HUEMAN_VER,
|
||||
// $media = 'all'
|
||||
// );
|
||||
// }
|
||||
|
||||
/**
|
||||
* Refresh the parameters passed to the JavaScript via JSON.
|
||||
*
|
||||
*
|
||||
* @Override
|
||||
* @see WP_Customize_Control::to_json()
|
||||
*/
|
||||
public function to_json() {
|
||||
parent::to_json();
|
||||
if ( is_array( $this->ubq_section ) && array_key_exists( 'section', $this->ubq_section ) )
|
||||
$this->json['ubq_section'] = $this->ubq_section;
|
||||
}
|
||||
}//end of class
|
||||
endif;
|
||||
Reference in New Issue
Block a user