/** * Add postMessage support for site title and description for the Customizer. * @param WP_Customize_Manager $wp_customize Customizer object. */ public static function register($wp_customize) { do_action('powen_customize_starts', $wp_customize); /*============================== CONTENT ===============================*/ $wp_customize->add_section('powen_content_section', array('title' => __('Content', 'powen'), 'capability' => 'edit_theme_options')); //Hide author $wp_customize->add_setting('powen_mod[hide_author]', array('capability' => 'edit_theme_options', 'sanitize_callback' => 'sanitize_text_field')); $wp_customize->add_control(new WP_Customize_Control($wp_customize, 'powen_mod[hide_author]', array('label' => __('Hide The Author of The Post', 'powen'), 'type' => 'checkbox', 'section' => 'powen_content_section'))); //Hide date $wp_customize->add_setting('powen_mod[hide_date]', array('capability' => 'edit_theme_options', 'sanitize_callback' => 'sanitize_text_field')); $wp_customize->add_control(new WP_Customize_Control($wp_customize, 'powen_mod[hide_date]', array('label' => __('Hide The Date of The Post', 'powen'), 'type' => 'checkbox', 'section' => 'powen_content_section'))); //COPYRIGHT TEXT $wp_customize->add_setting('powen_mod[copyright_textbox]', array('default' => __('@copyright', 'powen'), 'sanitize_callback' => 'sanitize_text_field', 'capability' => 'edit_theme_options')); $wp_customize->add_control(new WP_Customize_Control($wp_customize, 'powen_mod[copyright_textbox]', array('label' => __('Copyright Text', 'powen'), 'section' => 'powen_content_section', 'settings' => 'powen_mod[copyright_textbox]'))); //Change Theme Author's Name $wp_customize->add_setting('powen_mod[theme_author]', array('default' => __('Supernova Themes', 'powen'), 'sanitize_callback' => 'sanitize_text_field', 'capability' => 'edit_theme_options')); $wp_customize->add_control(new WP_Customize_Control($wp_customize, 'powen_mod[theme_author]', array('label' => __("Author's Name", 'powen'), 'section' => 'powen_content_section', 'settings' => 'powen_mod[theme_author]'))); /*============================== MENU TITLES NAV SECTION ===============================*/ $wp_customize->add_setting('powen_mod[menu_one_title_textbox]', array('sanitize_callback' => 'sanitize_text_field', 'capability' => 'edit_theme_options')); $wp_customize->add_control(new WP_Customize_Control($wp_customize, 'powen_mod[menu_one_title_textbox]', array('label' => __('Top Most Menu Title', 'powen'), 'section' => 'nav', 'settings' => 'powen_mod[menu_one_title_textbox]'))); $wp_customize->add_setting('powen_mod[hide_menu_one]', array('capability' => 'edit_theme_options', 'sanitize_callback' => 'sanitize_text_field')); $wp_customize->add_control(new WP_Customize_Control($wp_customize, 'powen_mod[hide_menu_one]', array('type' => 'checkbox', 'label' => __('Hide', 'powen'), 'section' => 'nav'))); $wp_customize->add_setting('powen_mod[menu_two_title_textbox]', array('sanitize_callback' => 'sanitize_text_field', 'capability' => 'edit_theme_options')); $wp_customize->add_control(new WP_Customize_Control($wp_customize, 'powen_mod[menu_two_title_textbox]', array('label' => __('Main Menu Title', 'powen'), 'section' => 'nav', 'settings' => 'powen_mod[menu_two_title_textbox]'))); $wp_customize->add_setting('powen_mod[hide_menu_two]', array('capability' => 'edit_theme_options', 'sanitize_callback' => 'sanitize_text_field')); $wp_customize->add_control(new WP_Customize_Control($wp_customize, 'powen_mod[hide_menu_two]', array('type' => 'checkbox', 'label' => __('Hide', 'powen'), 'section' => 'nav'))); /*============================== MEDIA SECTION ===============================*/ $wp_customize->add_section('powen_social_media_section', array('title' => __('Social Media', 'powen'), 'description' => __('Example for Phone url: tel:+13174562564', 'powen'), 'priority' => 50, 'capability' => 'edit_theme_options')); $powen_social_sites = powen_customizer_social_media_array(); foreach ($powen_social_sites as $powen_social_site) { $wp_customize->add_setting("powen_mod[{$powen_social_site}]", array('sanitize_callback' => 'esc_url_raw', 'capability' => 'edit_theme_options')); $wp_customize->add_control("powen_mod[{$powen_social_site}]", array('label' => sprintf(__("%s url:", 'powen'), $powen_social_site), 'settings' => "powen_mod[{$powen_social_site}]", 'section' => 'powen_social_media_section', 'type' => 'text', 'priority' => 10)); } /*============================== SIDEBAR LAYOUT ===============================*/ $wp_customize->add_section('powen_sidebar_layout_section', array('title' => __('Sidebar Layout', 'powen'), 'capability' => 'edit_theme_options')); $wp_customize->add_setting('powen_mod[sidebar_position]', array('default' => 'right', 'sanitize_callback' => 'powen_sanitize_choices', 'capability' => 'edit_theme_options')); $wp_customize->add_control(new WP_Customize_Control($wp_customize, 'powen_mod[sidebar_position]', array('label' => __('Sidebar Position', 'powen'), 'type' => 'radio', 'choices' => array('left' => __('left', 'powen'), 'right' => __('right', 'powen'), 'no-sidebar' => __('no-sidebar', 'powen')), 'section' => 'powen_sidebar_layout_section', 'settings' => 'powen_mod[sidebar_position]'))); /*============================== SLIDER ===============================*/ global $powen_theme; $url = $powen_theme->get('AuthorURI') . "/powen-pro-pricing/"; $description = !defined('POWEN_PRO') ? __('For More Options Upgrade to ', 'powen') . "<a href='{$url}'>" . __('Powen Pro', 'powen') . "</a>" : false; $wp_customize->add_panel('powen_slider_pannel', array('priority' => 10, 'capability' => 'edit_theme_options', 'title' => __('Slider Options', 'powen'), 'description' => __('Add slider', 'powen'))); $wp_customize->add_section('powen_slider_section_pro', array('priority' => 9, 'capability' => 'edit_theme_options', 'title' => __('Powen Pro', 'powen'), 'description' => $description, 'type' => 'checkbox', 'panel' => 'powen_slider_pannel')); $wp_customize->add_setting('powen_mod[hide_slider]', array('default' => 0, 'sanitize_callback' => 'sanitize_text_field', 'capability' => 'edit_theme_options')); $wp_customize->add_control(new WP_Customize_Control($wp_customize, 'powen_mod[hide_slider]', array('label' => __('Hide Slider', 'powen'), 'type' => 'checkbox', 'section' => 'powen_slider_section_pro'))); $default_slides = powen_default_slides(); for ($i = 0; $i <= apply_filters('powen_increase_slides', 19); $i++) { $wp_customize->add_section('powen_slider_section_' . $i, array('priority' => 10, 'capability' => 'edit_theme_options', 'title' => sprintf(__('Slide %s', 'powen'), $i + 1), 'description' => __('Add slide', 'powen'), 'panel' => 'powen_slider_pannel')); $wp_customize->add_setting('powen_slides[' . $i . '][title]', array('default' => isset($default_slides[$i]['title']) ? $default_slides[$i]['title'] : false, 'sanitize_callback' => 'sanitize_text_field', 'capability' => 'edit_theme_options')); $wp_customize->add_control('powen_slides[' . $i . '][title]', array('priority' => 10, 'section' => 'powen_slider_section_' . $i, 'label' => __('Title', 'powen'), 'settings' => 'powen_slides[' . $i . '][title]')); $wp_customize->add_setting('powen_slides[' . $i . '][description]', array('default' => isset($default_slides[$i]['description']) ? $default_slides[$i]['description'] : false, 'sanitize_callback' => 'sanitize_text_field', 'capability' => 'edit_theme_options')); $wp_customize->add_control('powen_slides[' . $i . '][description]', array('priority' => 10, 'section' => 'powen_slider_section_' . $i, 'label' => __('Description', 'powen'), 'settings' => 'powen_slides[' . $i . '][description]')); $wp_customize->add_setting('powen_slides[' . $i . '][link]', array('default' => isset($default_slides[$i]['link']) ? esc_url($default_slides[$i]['link']) : false, 'sanitize_callback' => 'esc_url_raw', 'capability' => 'edit_theme_options')); $wp_customize->add_control('powen_slides[' . $i . '][link]', array('priority' => 10, 'section' => 'powen_slider_section_' . $i, 'label' => __('Link', 'powen'), 'settings' => 'powen_slides[' . $i . '][link]')); $wp_customize->add_setting('powen_slides[' . $i . '][image]', array('default' => isset($default_slides[$i]['image']) ? esc_url($default_slides[$i]['image']) : false, 'sanitize_callback' => 'esc_url_raw', 'capability' => 'edit_theme_options')); $wp_customize->add_control(new WP_Customize_Image_Control($wp_customize, 'powen_slides[' . $i . '][image]', array('priority' => 10, 'section' => 'powen_slider_section_' . $i, 'label' => __('Image', 'powen'), 'description' => __('(Minimum image size 337 x 225)', 'powen'), 'settings' => 'powen_slides[' . $i . '][image]'))); } /*============================== COLORS ===============================*/ $theme_colors = apply_filters('powen_theme_colors_array', array(array('slug' => 'powen_mod[theme_color]', 'default' => '#daa520', 'label' => __('Theme Color', 'powen')), array('slug' => 'powen_mod[hover_link_color]', 'default' => '#dd9933', 'label' => __('Link Color (on hover)', 'powen')), array('slug' => 'powen_mod[header_textcolor]', 'default' => '#000', 'label' => __('Site Title Color', 'powen')), array('slug' => 'powen_mod[header_taglinecolor]', 'default' => '#222222', 'label' => __('Site Tagline Color', 'powen')), array('slug' => 'powen_mod[header_background]', 'default' => '#ffffff', 'label' => __('Header Background Color', 'powen')), array('slug' => 'powen_mod[powen-footer-widgets_background]', 'default' => '#222222', 'label' => __('Footer widgets background color', 'powen')), array('slug' => 'powen_mod[powen-footer-widgets_textcolor]', 'default' => '#808080', 'label' => __('Footer widgets text color', 'powen')), array('slug' => 'powen_mod[powen-footer-widgets_linkcolor]', 'default' => '#cccccc', 'label' => __('Footer widgets link color', 'powen')), array('slug' => 'powen_mod[footer_bottom_background_color]', 'default' => '#000000', 'label' => __('Footer bottom background color', 'powen')), array('slug' => 'powen_mod[footer_bottom_textcolor]', 'default' => '#999999', 'label' => __('Footer bottom text color', 'powen')))); foreach ($theme_colors as $theme_color) { $wp_customize->add_setting($theme_color['slug'], array('default' => $theme_color['default'], 'sanitize_callback' => 'sanitize_hex_color', 'capability' => 'edit_theme_options')); $wp_customize->add_control(new WP_Customize_Color_Control($wp_customize, $theme_color['slug'], array('label' => $theme_color['label'], 'section' => 'colors', 'settings' => $theme_color['slug']))); } //Theme Font $wp_customize->add_section('powen_font_section', array('title' => __('Theme Font', 'powen'), 'capability' => 'edit_theme_options')); $wp_customize->add_setting('powen_mod[theme_font]', array('default' => 'Open Sans', 'sanitize_callback' => 'powen_sanitize_choices', 'transport' => 'postMessage', 'capability' => 'edit_theme_options')); $wp_customize->add_control('powen_mod[theme_font]', array('section' => 'powen_font_section', 'label' => __('Theme Font', 'powen'), 'type' => 'select', 'settings' => 'powen_mod[theme_font]', 'choices' => array('sansserif' => 'sans-serif', 'serif' => 'serif', 'courier' => 'Courier New', 'open-sans' => 'Open Sans'))); /*============================== SITE TITLE PLACEMENT ===============================*/ //Site Title & Tagline Placement $wp_customize->add_setting('powen_mod[header_text_placement]', array('default' => 'center', 'capability' => 'edit_theme_options', 'sanitize_callback' => 'powen_sanitize_choices')); $wp_customize->add_control('powen_mod[header_text_placement]', array('type' => 'radio', 'label' => __('Site Title & Tagline Placement', 'powen'), 'section' => 'title_tagline', 'settings' => 'powen_mod[header_text_placement]', 'choices' => array('left' => __('left', 'powen'), 'right' => __('right', 'powen'), 'center' => __('center', 'powen')))); /*============================== LOGO & FAVICON ===============================*/ //Upload logo $wp_customize->add_setting('powen_mod[upload_logo]', array('sanitize_callback' => 'esc_url_raw', 'capability' => 'edit_theme_options')); $wp_customize->add_control(new WP_Customize_Image_Control($wp_customize, 'powen_mod[upload_logo]', array('label' => __('Upload logo', 'powen'), 'section' => 'title_tagline', 'settings' => 'powen_mod[upload_logo]'))); //Logo placement $wp_customize->add_setting('powen_mod[logo_placement]', array('default' => 'left', 'sanitize_callback' => 'powen_sanitize_choices', 'capability' => 'edit_theme_options')); $wp_customize->add_control('powen_mod[logo_placement]', array('type' => 'radio', 'label' => __('Logo placement', 'powen'), 'section' => 'title_tagline', 'settings' => 'powen_mod[logo_placement]', 'choices' => array('left' => __('left', 'powen'), 'right' => __('right', 'powen'), 'center' => __('center', 'powen')))); $wp_customize->add_setting('powen_mod[theme_favicon]', array('sanitize_callback' => 'esc_url_raw', 'capability' => 'edit_theme_options')); $wp_customize->add_control(new WP_Customize_Image_Control($wp_customize, 'powen_mod[theme_favicon]', array('label' => __('Upload Favicon', 'powen'), 'section' => 'title_tagline', 'settings' => 'powen_mod[theme_favicon]'))); // We can also change built-in settings by modifying properties. For instance, let's make some stuff use live preview JS... $wp_customize->get_setting('blogname')->transport = 'postMessage'; $wp_customize->get_setting('blogdescription')->transport = 'postMessage'; do_action('powen_customize_ends', $wp_customize); }
<?php /** * Tempate part used in index.php for showing flexslider * @package powen */ $slides = get_theme_mod('powen_slides', powen_default_slides()); ?> <?php if (!powen_mod('hide_slider', false)) { ?> <div id="powen-main-slider" class="clear"> <section id="slider" class="flexslider"> <ul class='slides'> <?php if (is_array($slides)) { foreach ($slides as $slide) { ?> <?php if (!trim($slide['image'])) { continue; } ?> <li> <a href='<?php echo esc_url($slide['link']); ?> '>