first commit
This commit is contained in:
134
wp-content/themes/worldwide-v1-01/include/theme-customizer.php
Normal file
134
wp-content/themes/worldwide-v1-01/include/theme-customizer.php
Normal file
@ -0,0 +1,134 @@
|
||||
<?php
|
||||
|
||||
/*
|
||||
* Goodlayers Theme Customizer File
|
||||
* ---------------------------------------------------------------------
|
||||
* Add the ability to support the color for theme customization
|
||||
* ---------------------------------------------------------------------
|
||||
*/
|
||||
|
||||
add_action( 'customize_register', 'themename_customize_register' );
|
||||
function themename_customize_register($wp_customize) {
|
||||
global $goodlayers_element, $goodlayers_menu;
|
||||
|
||||
$color_priority = 0;
|
||||
|
||||
$color_menus = $goodlayers_menu[ __('Elements Color', 'gdl_back_office') ];
|
||||
foreach( $color_menus as $color_menu_name => $color_menu_slug ){
|
||||
|
||||
// add the section of the elements color menu to theme customization
|
||||
$wp_customize->add_section( $color_menu_slug, array('title' => __('Color : ', 'gdl_back_office') . $color_menu_name, 'priority' => 1000 ) );
|
||||
|
||||
// add each color inside
|
||||
foreach( $goodlayers_element[$color_menu_slug] as $element_name => $element ){
|
||||
if( !empty($element['name']) ){
|
||||
$wp_customize->add_setting( $element['name'], array(
|
||||
'default' => $element['default'],
|
||||
'type' => 'option',
|
||||
'capability' => 'edit_theme_options',
|
||||
'transport' => 'postMessage'
|
||||
));
|
||||
$wp_customize->add_control( new WP_Customize_Color_Control( $wp_customize, $element['name'] . '_id', array(
|
||||
'label' => $element_name,
|
||||
'section' => $color_menu_slug,
|
||||
'settings' => $element['name'],
|
||||
'priority' => $color_priority
|
||||
)));
|
||||
$color_priority++;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// add the script of preview customization to the footer
|
||||
if ( $wp_customize->is_preview() && ! is_admin() ){
|
||||
add_action( 'wp_footer', 'gdl_customize_preview', 21);
|
||||
}
|
||||
|
||||
save_option(THEME_SHORT_NAME . '_stylesheet_generated', '', 'No');
|
||||
|
||||
}
|
||||
|
||||
function gdl_customize_preview() {
|
||||
global $goodlayers_element, $goodlayers_menu;
|
||||
|
||||
echo '<script type="text/javascript">' . "\n";
|
||||
echo '(function($){' . "\n";
|
||||
echo 'var cur_color;' . "\n";
|
||||
echo 'var cur_bg_color;' . "\n";
|
||||
|
||||
$color_menus = $goodlayers_menu[ __('Elements Color', 'gdl_back_office') ];
|
||||
foreach( $color_menus as $color_menu_name => $color_menu_slug ){
|
||||
foreach( $goodlayers_element[$color_menu_slug] as $element ){
|
||||
if( !empty($element['attr']) && !empty($element['selector']) ){
|
||||
echo 'wp.customize("' . $element['name'] . '", function(value){';
|
||||
echo 'value.bind(function(to){';
|
||||
foreach($element['attr'] as $css_attr){
|
||||
if( strpos($element['selector'], ':hover') > 0 ){
|
||||
// if is hover
|
||||
$cur_selector = str_replace(':hover', '', $element['selector']);
|
||||
echo '$("' . $cur_selector . '").hover(function(){';
|
||||
echo 'cur_color = $(this).css("color");';
|
||||
echo 'cur_bg_color = $(this).css("background-color");';
|
||||
echo '$(this).css("' . $css_attr . '", to);';
|
||||
echo '}, function(){';
|
||||
if( $css_attr == 'background-color' ){
|
||||
echo '$(this).css("' . $css_attr . '", cur_bg_color);';
|
||||
}else{
|
||||
echo '$(this).css("' . $css_attr . '", cur_color);';
|
||||
}
|
||||
echo '});';
|
||||
}else{
|
||||
echo '$(\'' . $element['selector'] . '\').css("' . $css_attr . '", to);';
|
||||
}
|
||||
}
|
||||
echo '});'; // value.bind
|
||||
echo '});'; // wp.customize
|
||||
echo "\n";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// contact / comment script
|
||||
$temp_sel = 'div.contact-form-wrapper input[type="text"], div.contact-form-wrapper input[type="password"], div.contact-form-wrapper textarea, ';
|
||||
$temp_sel = $temp_sel . 'div.sidebar-wrapper #search-text input[type="text"], ';
|
||||
$temp_sel = $temp_sel . 'div.sidebar-wrapper .contact-widget input, div.custom-sidebar .contact-widget textarea, ';
|
||||
$temp_sel = $temp_sel . 'div.comment-wrapper input[type="text"], div.comment-wrapper input[type="password"], div.comment-wrapper textarea';
|
||||
|
||||
?>
|
||||
var cur_inner_shadow = '<?php echo get_option(THEME_SHORT_NAME.'_contact_form_inner_shadow', '#ececec'); ?>';
|
||||
var cur_frame = '<?php echo get_option(THEME_SHORT_NAME.'_contact_form_frame_color', '#f7f7f7'); ?>';
|
||||
wp.customize("<?php echo THEME_SHORT_NAME.'_contact_form_background_color'; ?>", function(value){value.bind(function(to){
|
||||
$('<?php echo $temp_sel; ?>').css("background-color", to);
|
||||
});});
|
||||
wp.customize("<?php echo THEME_SHORT_NAME.'_contact_form_text_color'; ?>", function(value){value.bind(function(to){
|
||||
$('<?php echo $temp_sel; ?>').css("color", to);
|
||||
});});
|
||||
wp.customize("<?php echo THEME_SHORT_NAME.'_contact_form_border_color'; ?>", function(value){value.bind(function(to){
|
||||
$('<?php echo $temp_sel; ?>').css("border-color", to);
|
||||
});});
|
||||
wp.customize("<?php echo THEME_SHORT_NAME.'_contact_form_frame_color'; ?>", function(value){value.bind(function(to){
|
||||
$('<?php echo $temp_sel; ?>').css("box-shadow", cur_inner_shadow + ' 0px 1px 4px inset, ' + to + ' -5px -5px 0px 0px, ' + to + ' 5px 5px 0px 0px, ' + to + ' 5px 0px 0px 0px, ' + to + ' 0px 5px 0px 0px, ' + to + ' 5px -5px 0px 0px, ' + to + ' -5px 5px 0px 0px');
|
||||
$('<?php echo $temp_sel; ?>').css("-webkit-box-shadow", cur_inner_shadow + ' 0px 1px 4px inset, ' + to + ' -5px -5px 0px 0px, ' + to + ' 5px 5px 0px 0px, ' + to + ' 5px 0px 0px 0px, ' + to + ' 0px 5px 0px 0px, ' + to + ' 5px -5px 0px 0px, ' + to + ' -5px 5px 0px 0px');
|
||||
cur_frame = to;
|
||||
});});
|
||||
wp.customize("<?php echo THEME_SHORT_NAME.'_contact_form_inner_shadow'; ?>", function(value){value.bind(function(to){
|
||||
$('<?php echo $temp_sel; ?>').css("box-shadow", to + ' 0px 1px 4px inset, ' + cur_frame + ' -5px -5px 0px 0px, ' + cur_frame + ' 5px 5px 0px 0px, ' + cur_frame + ' 5px 0px 0px 0px, ' + cur_frame + ' 0px 5px 0px 0px, ' + cur_frame + ' 5px -5px 0px 0px, ' + cur_frame + ' -5px 5px 0px 0px');
|
||||
$('<?php echo $temp_sel; ?>').css("-webkit-box-shadow", to + ' 0px 1px 4px inset, ' + cur_frame + ' -5px -5px 0px 0px, ' + cur_frame + ' 5px 5px 0px 0px, ' + cur_frame + ' 5px 0px 0px 0px, ' + cur_frame + ' 0px 5px 0px 0px, ' + cur_frame + ' 5px -5px 0px 0px, ' + cur_frame + ' -5px 5px 0px 0px');
|
||||
cur_inner_shadow = to;
|
||||
});});
|
||||
<?php
|
||||
echo '} )( jQuery );' . "\n";
|
||||
echo '</script>';
|
||||
|
||||
}
|
||||
|
||||
add_action('init', 'is_custom_style_generated');
|
||||
function is_custom_style_generated(){
|
||||
if( get_option(THEME_SHORT_NAME . '_stylesheet_generated') == 'No' ){
|
||||
gdl_generate_style_custom();
|
||||
save_option(THEME_SHORT_NAME . '_stylesheet_generated', 'No', '');
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
?>
|
Reference in New Issue
Block a user