<?php /** * Add postMessage support for site title and description for the Theme Customizer. * * @param WP_Customize_Manager $wp_customize Theme Customizer object. */ function shapely_customize_register( $wp_customize ) { $wp_customize->get_setting( 'blogname' )->transport = 'postMessage'; $wp_customize->get_setting( 'blogdescription' )->transport = 'postMessage'; $wp_customize->get_setting( 'header_textcolor' )->transport = 'postMessage'; $wp_customize->get_setting( 'custom_logo' )->transport = 'refresh'; // Abort if selective refresh is not available. if ( ! isset( $wp_customize->selective_refresh ) ) { return; } $wp_customize->selective_refresh->add_partial( 'blogname', array( 'selector' => '.site-title', 'render_callback' => function () { bloginfo( 'name' ); }, ) ); $wp_customize->selective_refresh->add_partial( 'footer_callout_text', array( 'selector' => '.footer-callout', 'render_callback' => function () { shapely_footer_callout(); }, ) ); $wp_customize->selective_refresh->add_partial( 'footer_callout_btntext', array( 'selector' => '.footer-callout', 'render_callback' => function () { shapely_footer_callout(); }, ) ); $wp_customize->selective_refresh->add_partial( 'footer_callout_link', array( 'selector' => '.footer-callout', 'render_callback' => function () { shapely_footer_callout(); }, ) ); $wp_customize->selective_refresh->add_partial( 'blog_name', array( 'selector' => '.header-callout', 'render_callback' => function () { shapely_top_callout(); }, ) ); $wp_customize->selective_refresh->add_partial( 'header_textcolor', array( 'selector' => '.header-callout', 'render_callback' => function () { shapely_top_callout(); }, ) ); } add_action( 'customize_register', 'shapely_customize_register' ); /** * Options for WordPress Theme Customizer. */ function shapely_customizer( $wp_customize ) { require_once get_template_directory() . '/inc/custom-controls/class-shapely-logo-dimensions.php'; $wp_customize->add_section( new Epsilon_Section_Pro( $wp_customize, 'epsilon-section-pro', array( 'title' => esc_html__( 'Theme documentation', 'shapely' ), 'button_text' => esc_html__( 'Learn more', 'shapely' ), 'button_url' => 'https://colorlib.com/wp/support/shapely/', 'priority' => 1, ) ) ); /* Main option Settings Panel */ $wp_customize->add_panel( 'shapely_main_options', array( 'capability' => 'edit_theme_options', 'theme_supports' => '', 'title' => esc_html__( 'Theme Options', 'shapely' ), 'description' => esc_html__( 'Panel to update shapely theme options', 'shapely' ), 'priority' => 10, ) ); $wp_customize->add_panel( 'shapely_blog_options', array( 'capability' => 'edit_theme_options', 'theme_supports' => '', 'title' => esc_html__( 'Blog Settings', 'shapely' ), 'description' => esc_html__( 'Panel to update Blog related options', 'shapely' ), 'priority' => 10, ) ); // Logo dimensions $wp_customize->add_setting( 'shapely_logo_dimension', array( 'sanitize_callback' => 'shapely_sanitize_logo_dimension', ) ); $wp_customize->add_control( new Shapely_Logo_Dimensions( $wp_customize, 'shapely_logo_dimension', array( 'section' => 'title_tagline', 'priority' => 9, ) ) ); $title_tagline = $wp_customize->get_section( 'title_tagline' ); if ( $title_tagline ) { $title_tagline->panel = 'shapely_main_options'; $title_tagline->priority = 1; } // add "Sidebar" section $color_section = $wp_customize->get_section( 'colors' ); if ( $color_section ) { $color_section->panel = 'shapely_main_options'; $color_section->priority = 31; } $header_image = $wp_customize->get_control( 'header_image' ); if ( $header_image ) { $header_image->section = 'shapely_blog_section'; $header_image->description = esc_html__( 'Blog Index Header Image', 'shapely' ); $header_image->priority = 31; } $wp_customize->add_section( 'shapely_blog_section', array( 'title' => esc_html__( 'Blog Index Settings', 'shapely' ), 'panel' => 'shapely_blog_options', 'priority' => 33, ) ); $wp_customize->add_section( 'shapely_single_post_section', array( 'title' => esc_html__( 'Blog Single Settings', 'shapely' ), 'panel' => 'shapely_blog_options', 'priority' => 35, ) ); $wp_customize->add_setting( 'link_color', array( 'default' => '#745cf9', 'sanitize_callback' => 'sanitize_hex_color', ) ); $wp_customize->add_control( new WP_Customize_Color_Control( $wp_customize, 'link_color', array( 'label' => esc_html__( 'Link Color', 'shapely' ), 'description' => esc_html__( 'Default used if no color is selected', 'shapely' ), 'section' => 'colors', ) ) ); $wp_customize->add_setting( 'link_hover_color', array( 'default' => '#5234f9', 'sanitize_callback' => 'sanitize_hex_color', ) ); $wp_customize->add_control( new WP_Customize_Color_Control( $wp_customize, 'link_hover_color', array( 'label' => esc_html__( 'Link Hover Color', 'shapely' ), 'description' => esc_html__( 'Default used if no color is selected', 'shapely' ), 'section' => 'colors', ) ) ); $wp_customize->add_setting( 'button_color', array( 'default' => '#745cf9', 'sanitize_callback' => 'sanitize_hex_color', ) ); $wp_customize->add_control( new WP_Customize_Color_Control( $wp_customize, 'button_color', array( 'label' => esc_html__( 'Button Color', 'shapely' ), 'description' => esc_html__( 'Default used if no color is selected', 'shapely' ), 'section' => 'colors', ) ) ); $wp_customize->add_setting( 'button_hover_color', array( 'default' => '#5234f9', 'sanitize_callback' => 'sanitize_hex_color', ) ); $wp_customize->add_control( new WP_Customize_Color_Control( $wp_customize, 'button_hover_color', array( 'label' => esc_html__( 'Button Hover Color', 'shapely' ), 'description' => esc_html__( 'Default used if no color is selected', 'shapely' ), 'section' => 'colors', ) ) ); // add "Sidebar" section $wp_customize->add_section( 'shapely_main_section', array( 'title' => esc_html__( 'Main Options', 'shapely' ), 'priority' => 11, 'panel' => 'shapely_main_options', ) ); $wp_customize->add_setting( 'top_callout', array( 'default' => 1, 'sanitize_callback' => 'shapely_sanitize_checkbox', ) ); if ( class_exists( 'Epsilon_Control_Toggle' ) ) { $wp_customize->add_control( new Epsilon_Control_Toggle( $wp_customize, 'top_callout', array( 'label' => esc_html__( 'Show Blog Title', 'shapely' ), 'description' => esc_html__( 'Show/hide the title from the Blog Page', 'shapely' ), 'section' => 'shapely_blog_section', 'priority' => 20, ) ) ); } else { $wp_customize->add_control( 'top_callout', array( 'label' => esc_html__( 'Show Blog Title', 'shapely' ), 'description' => esc_html__( 'Show/hide the title from the Blog Page', 'shapely' ), 'section' => 'shapely_blog_section', 'priority' => 20, 'type' => 'checkbox', ) ); } $wp_customize->add_setting( 'hide_post_title', array( 'default' => 0, 'sanitize_callback' => 'shapely_sanitize_checkbox', ) ); if ( class_exists( 'Epsilon_Control_Toggle' ) ) { $wp_customize->add_control( new Epsilon_Control_Toggle( $wp_customize, 'hide_post_title', array( 'label' => esc_html__( 'Title in Blog Post', 'shapely' ), 'section' => 'wpseo_breadcrumbs_customizer_section', ) ) ); } else { $wp_customize->add_control( 'hide_post_title', array( 'label' => esc_html__( 'Title in Blog Post', 'shapely' ), 'section' => 'wpseo_breadcrumbs_customizer_section', 'type' => 'checkbox', ) ); } $wp_customize->add_setting( 'blog_name', array( 'default' => '', 'sanitize_callback' => 'wp_kses_stripslashes', 'transport' => 'postMessage', ) ); $wp_customize->add_control( 'blog_name', array( 'label' => esc_html__( 'Blog Name in Top Callout', 'shapely' ), 'description' => esc_html__( 'Heading for the Blog page', 'shapely' ), 'section' => 'shapely_blog_section', ) ); $wp_customize->add_setting( 'mobile_menu_on_desktop', array( 'default' => 0, 'sanitize_callback' => 'shapely_sanitize_checkbox', ) ); if ( class_exists( 'Epsilon_Control_Toggle' ) ) { $wp_customize->add_control( new Epsilon_Control_Toggle( $wp_customize, 'mobile_menu_on_desktop', array( 'label' => esc_html__( 'Mobile Menu on Desktop', 'shapely' ), 'description' => esc_html__( 'Always the menu will be like the mobile menu', 'shapely' ), 'section' => 'shapely_main_section', ) ) ); } else { $wp_customize->add_control( 'mobile_menu_on_desktop', array( 'label' => esc_html__( 'Mobile Menu on Desktop', 'shapely' ), 'description' => esc_html__( 'Always the menu will be like the mobile menu', 'shapely' ), 'section' => 'shapely_main_section', 'type' => 'checkbox', ) ); } $wp_customize->add_setting( 'footer_callout_text', array( 'default' => '', 'sanitize_callback' => 'wp_kses_stripslashes', 'transport' => 'postMessage', ) ); $wp_customize->add_control( 'footer_callout_text', array( 'label' => esc_html__( 'Text for Footer Callout', 'shapely' ), 'description' => esc_html__( 'The title of the call to action section from footer', 'shapely' ), 'section' => 'shapely_main_section', ) ); $wp_customize->add_setting( 'footer_callout_btntext', array( 'default' => '', 'sanitize_callback' => 'wp_kses_stripslashes', 'transport' => 'postMessage', ) ); $wp_customize->add_control( 'footer_callout_btntext', array( 'label' => esc_html__( 'Text for Footer Callout Button', 'shapely' ), 'description' => esc_html__( 'The label of the call to action section\'s button from the footer', 'shapely' ), 'section' => 'shapely_main_section', ) ); $wp_customize->add_setting( 'footer_callout_link', array( 'default' => '', 'sanitize_callback' => 'esc_url_raw', 'transport' => 'postMessage', ) ); $wp_customize->add_control( 'footer_callout_link', array( 'label' => esc_html__( 'CFA Button Link', 'shapely' ), 'section' => 'shapely_main_section', 'description' => esc_html__( 'The URL of the call to action section\'s button from footer', 'shapely' ), 'type' => 'text', ) ); /** * * @since 1.2.2 * */ // transparent header $wp_customize->add_setting( 'shapely_transparent_header', array( 'default' => 0, 'sanitize_callback' => 'shapely_sanitize_checkbox', ) ); if ( class_exists( 'Epsilon_Control_Toggle' ) ) { $wp_customize->add_control( new Epsilon_Control_Toggle( $wp_customize, 'shapely_transparent_header', array( 'label' => esc_html__( 'Transparent header', 'shapely' ), 'description' => esc_html__( 'Toggling this to ON will make the header have a transparent background', 'shapely' ), 'section' => 'shapely_main_section', ) ) ); } else { $wp_customize->add_control( 'shapely_transparent_header', array( 'label' => esc_html__( 'Transparent header', 'shapely' ), 'description' => esc_html__( 'Toggling this to ON will make the header have a transparent background', 'shapely' ), 'section' => 'shapely_main_section', 'type' => 'checkbox', ) ); } // transparent header: opacity range slider $wp_customize->add_setting( 'shapely_sticky_header_transparency', array( 'default' => 100, 'sanitize_callback' => 'absint', ) ); if ( class_exists( 'Epsilon_Control_Slider' ) ) { $wp_customize->add_control( new Epsilon_Control_Slider( $wp_customize, 'shapely_sticky_header_transparency', array( 'label' => esc_html__( 'Sticky header background opacity', 'shapely' ), 'description' => esc_html__( 'Increase the header background opacity', 'shapely' ), 'section' => 'shapely_main_section', 'type' => 'epsilon-slider', 'choices' => array( 'min' => 10, 'max' => 100, 'step' => 5, ), 'active_callback' => 'active_callback_toggle_choice', ) ) ); } else { $wp_customize->add_control( 'shapely_sticky_header_transparency', array( 'label' => esc_html__( 'Sticky header background opacity', 'shapely' ), 'description' => esc_html__( 'Increase the header background opacity', 'shapely' ), 'section' => 'shapely_main_section', 'type' => 'number', 'active_callback' => 'active_callback_toggle_choice', ) ); } // sticky header $wp_customize->add_setting( 'shapely_sticky_header', array( 'default' => 1, 'sanitize_callback' => 'shapely_sanitize_checkbox', ) ); if ( class_exists( 'Epsilon_Control_Toggle' ) ) { $wp_customize->add_control( new Epsilon_Control_Toggle( $wp_customize, 'shapely_sticky_header', array( 'label' => esc_html__( 'Sticky header', 'shapely' ), 'description' => esc_html__( 'Toggling this to ON will make your header stick to the top of the browser bar', 'shapely' ), 'section' => 'shapely_main_section', ) ) ); } else { $wp_customize->add_control( 'shapely_sticky_header', array( 'label' => esc_html__( 'Sticky header', 'shapely' ), 'description' => esc_html__( 'Toggling this to ON will make your header stick to the top of the browser bar', 'shapely' ), 'section' => 'shapely_main_section', 'type' => 'checkbox', ) ); } /** * * END * * @since 1.2.2 * */ // add "Footer" section $wp_customize->add_section( 'shapely_footer_section', array( 'title' => esc_html__( 'Footer', 'shapely' ), 'priority' => 90, ) ); $wp_customize->add_setting( 'shapely_footer_copyright', array( 'default' => '', 'transport' => 'refresh', 'sanitize_callback' => 'wp_kses_stripslashes', ) ); $wp_customize->add_control( 'shapely_footer_copyright', array( 'type' => 'textarea', 'label' => esc_html__( 'Copyright Text', 'shapely' ), 'section' => 'shapely_footer_section', ) ); $wp_customize->add_setting( 'title_in_header', array( 'default' => 1, 'sanitize_callback' => 'shapely_sanitize_checkbox', ) ); $wp_customize->add_setting( 'title_above_post', array( 'default' => 1, 'sanitize_callback' => 'shapely_sanitize_checkbox', ) ); $wp_customize->add_setting( 'post_date', array( 'default' => 1, 'sanitize_callback' => 'shapely_sanitize_checkbox', ) ); $wp_customize->add_setting( 'post_category', array( 'default' => 1, 'sanitize_callback' => 'shapely_sanitize_checkbox', ) ); $wp_customize->add_setting( 'post_author', array( 'default' => 1, 'sanitize_callback' => 'shapely_sanitize_checkbox', ) ); $wp_customize->add_setting( 'first_letter_caps', array( 'default' => 1, 'sanitize_callback' => 'shapely_sanitize_checkbox', ) ); $wp_customize->add_setting( 'tags_post_meta', array( 'default' => 1, 'sanitize_callback' => 'shapely_sanitize_checkbox', ) ); $wp_customize->add_setting( 'related_posts_area', array( 'default' => 1, 'sanitize_callback' => 'shapely_sanitize_checkbox', ) ); $wp_customize->add_setting( 'post_author_area', array( 'default' => 1, 'sanitize_callback' => 'shapely_sanitize_checkbox', ) ); $wp_customize->add_setting( 'post_author_left_side', array( 'default' => 0, 'sanitize_callback' => 'shapely_sanitize_checkbox', ) ); $wp_customize->add_setting( 'post_author_email', array( 'default' => 0, 'sanitize_callback' => 'shapely_sanitize_checkbox', ) ); // Single Post Settings if ( class_exists( 'Epsilon_Control_Toggle' ) ) { $wp_customize->add_control( new Epsilon_Control_Toggle( $wp_customize, 'title_in_header', array( 'label' => esc_html__( 'Show title in header', 'shapely' ), 'description' => esc_html__( 'This will show/hide the post title from callout', 'shapely' ), 'section' => 'shapely_single_post_section', ) ) ); $wp_customize->add_control( new Epsilon_Control_Toggle( $wp_customize, 'title_above_post', array( 'label' => esc_html__( 'Show title above post', 'shapely' ), 'description' => esc_html__( 'This will show/hide the post title above post content', 'shapely' ), 'section' => 'shapely_single_post_section', ) ) ); $wp_customize->add_control( new Epsilon_Control_Toggle( $wp_customize, 'post_date', array( 'label' => esc_html__( 'Show the date', 'shapely' ), 'description' => esc_html__( 'This will show/hide the date when post was published', 'shapely' ), 'section' => 'shapely_single_post_section', ) ) ); $wp_customize->add_control( new Epsilon_Control_Toggle( $wp_customize, 'post_author', array( 'label' => esc_html__( 'Show the author', 'shapely' ), 'description' => esc_html__( 'This will show/hide the author who written the post under the post title', 'shapely' ), 'section' => 'shapely_single_post_section', ) ) ); $wp_customize->add_control( new Epsilon_Control_Toggle( $wp_customize, 'post_category', array( 'label' => esc_html__( 'Show the category', 'shapely' ), 'description' => esc_html__( 'This will show/hide the categories of post', 'shapely' ), 'section' => 'shapely_single_post_section', ) ) ); $wp_customize->add_control( new Epsilon_Control_Toggle( $wp_customize, 'first_letter_caps', array( 'label' => esc_html__( 'First Letter Caps', 'shapely' ), 'description' => esc_html__( 'This will transform your first letter from a post into uppercase', 'shapely' ), 'section' => 'shapely_single_post_section', ) ) ); $wp_customize->add_control( new Epsilon_Control_Toggle( $wp_customize, 'tags_post_meta', array( 'label' => esc_html__( 'Tags Post Meta', 'shapely' ), 'description' => esc_html__( 'This will show/hide tags from the end of post', 'shapely' ), 'section' => 'shapely_single_post_section', ) ) ); $wp_customize->add_control( new Epsilon_Control_Toggle( $wp_customize, 'related_posts_area', array( 'label' => esc_html__( 'Related Posts Area', 'shapely' ), 'description' => esc_html__( 'This will enable/disable the related posts', 'shapely' ), 'section' => 'shapely_single_post_section', ) ) ); $wp_customize->add_control( new Epsilon_Control_Toggle( $wp_customize, 'post_author_area', array( 'label' => esc_html__( 'Post Author Area', 'shapely' ), 'description' => esc_html__( 'This will show/hide the author box', 'shapely' ), 'section' => 'shapely_single_post_section', ) ) ); $wp_customize->add_control( new Epsilon_Control_Toggle( $wp_customize, 'post_author_left_side', array( 'label' => esc_html__( 'Post Author Left Side', 'shapely' ), 'description' => esc_html__( 'This will move the author box from the bottom of the post on top on the left side', 'shapely' ), 'section' => 'shapely_single_post_section', ) ) ); $wp_customize->add_control( new Epsilon_Control_Toggle( $wp_customize, 'post_author_email', array( 'label' => esc_html__( 'Show Author Email', 'shapely' ), 'description' => esc_html__( 'This will show/hide the author\'s email from the author box', 'shapely' ), 'section' => 'shapely_single_post_section', ) ) ); } else { $wp_customize->add_control( 'first_letter_caps', array( 'label' => esc_html__( 'First Letter Caps', 'shapely' ), 'description' => esc_html__( 'This will transform your first letter from a post into uppercase', 'shapely' ), 'section' => 'shapely_single_post_section', 'type' => 'checkbox', ) ); $wp_customize->add_control( 'tags_post_meta', array( 'label' => esc_html__( 'Tags Post Meta', 'shapely' ), 'description' => esc_html__( 'This will show/hide tags from the end of post', 'shapely' ), 'section' => 'shapely_single_post_section', 'type' => 'checkbox', ) ); $wp_customize->add_control( 'related_posts_area', array( 'label' => esc_html__( 'Related Posts Area', 'shapely' ), 'description' => esc_html__( 'This will enable/disable the related posts', 'shapely' ), 'section' => 'shapely_single_post_section', 'type' => 'checkbox', ) ); $wp_customize->add_control( 'post_author_area', array( 'label' => esc_html__( 'Post Author Area', 'shapely' ), 'description' => esc_html__( 'This will show/hide the author box', 'shapely' ), 'section' => 'shapely_single_post_section', 'type' => 'checkbox', ) ); $wp_customize->add_control( 'post_author_left_side', array( 'label' => esc_html__( 'Post Author Left Side', 'shapely' ), 'description' => esc_html__( 'This will move the author box from the bottom of the post on top on the left side', 'shapely' ), 'section' => 'shapely_single_post_section', 'type' => 'checkbox', ) ); $wp_customize->add_control( 'post_author_email', array( 'label' => esc_html__( 'Show Author Email', 'shapely' ), 'description' => esc_html__( 'This will show/hide the author\'s email from the author box', 'shapely' ), 'section' => 'shapely_single_post_section', 'type' => 'checkbox', ) ); } // End if(). $wp_customize->add_setting( 'single_post_layout_template', array( 'default' => 'sidebar-right', 'sanitize_callback' => 'shapely_sanitize_blog_layout', ) ); $wp_customize->add_control( 'single_post_layout_template', array( 'label' => esc_html__( 'Single Post Template', 'shapely' ), 'description' => esc_html__( 'Set the default template for single posts', 'shapely' ), 'section' => 'shapely_single_post_section', 'type' => 'select', 'choices' => array( 'full-width' => esc_html__( 'Full Width', 'shapely' ), 'no-sidebar' => esc_html__( 'No Sidebar', 'shapely' ), 'sidebar-left' => esc_html__( 'Sidebar Left', 'shapely' ), 'sidebar-right' => esc_html__( 'Sidebar Right', 'shapely' ), ), ) ); $wp_customize->add_setting( 'blog_layout_view', array( 'default' => 'grid', 'sanitize_callback' => 'wp_kses_stripslashes', ) ); $wp_customize->add_control( 'blog_layout_view', array( 'label' => esc_html__( 'Blog Layout', 'shapely' ), 'description' => esc_html__( 'Choose how you want to display posts in grid', 'shapely' ), 'section' => 'shapely_blog_section', 'type' => 'select', 'choices' => array( 'grid' => esc_html__( 'Grid only', 'shapely' ), 'large_image_grid' => esc_html__( 'Large Image and Grid', 'shapely' ), 'large_image' => esc_html__( 'Large Images', 'shapely' ), ), ) ); $wp_customize->add_setting( 'blog_layout_template', array( 'default' => 'sidebar-right', 'sanitize_callback' => 'shapely_sanitize_blog_layout', ) ); $wp_customize->add_control( 'blog_layout_template', array( 'label' => esc_html__( 'Blog Template', 'shapely' ), 'description' => esc_html__( 'Choose the template for your posts page', 'shapely' ), 'section' => 'shapely_blog_section', 'type' => 'select', 'choices' => array( 'full-width' => esc_html__( 'Full Width', 'shapely' ), 'no-sidebar' => esc_html__( 'No Sidebar', 'shapely' ), 'sidebar-left' => esc_html__( 'Sidebar Left', 'shapely' ), 'sidebar-right' => esc_html__( 'Sidebar Right', 'shapely' ), ), ) ); // shapely_category_page_section $wp_customize->add_setting( 'show_category_on_category_page', array( 'default' => 1, 'sanitize_callback' => 'shapely_sanitize_checkbox', ) ); if ( class_exists( 'Epsilon_Control_Toggle' ) ) { $wp_customize->add_control( new Epsilon_Control_Toggle( $wp_customize, 'show_category_on_category_page', array( 'label' => esc_html__( 'Show Category on Posts', 'shapely' ), 'description' => esc_html__( 'Show/hide posts\' categories from the Category Page', 'shapely' ), 'section' => 'shapely_blog_section', ) ) ); } else { $wp_customize->add_control( 'show_category_on_category_page', array( 'label' => esc_html__( 'Show Category on Posts', 'shapely' ), 'description' => esc_html__( 'Show/hide posts\' categories from the Category Page', 'shapely' ), 'section' => 'shapely_blog_section', 'type' => 'checkbox', ) ); } if ( post_type_exists( 'jetpack-portfolio' ) ) { // Add Projects Settings $wp_customize->add_panel( 'shapely_projects_options', array( 'capability' => 'edit_theme_options', 'theme_supports' => '', 'title' => esc_html__( 'Projects Settings', 'shapely' ), 'description' => esc_html__( 'Panel to update projects related options', 'shapely' ), 'priority' => 10, ) ); $wp_customize->add_section( 'shapely_projects_section', array( 'title' => esc_html__( 'Projects Page Settings', 'shapely' ), 'panel' => 'shapely_projects_options', 'priority' => 33, ) ); $wp_customize->add_section( 'shapely_single_project_section', array( 'title' => esc_html__( 'Project Single Settings', 'shapely' ), 'panel' => 'shapely_projects_options', 'priority' => 35, ) ); // Projects Archive Page $wp_customize->add_setting( 'portfolio_archive_title', array( 'default' => 1, 'sanitize_callback' => 'shapely_sanitize_checkbox', ) ); if ( class_exists( 'Epsilon_Control_Toggle' ) ) { $wp_customize->add_control( new Epsilon_Control_Toggle( $wp_customize, 'portfolio_archive_title', array( 'label' => esc_html__( 'Show Portfolio Archive Title', 'shapely' ), 'description' => esc_html__( 'Show/hide the title from the Portfolio Archive Page', 'shapely' ), 'section' => 'shapely_projects_section', ) ) ); } else { $wp_customize->add_control( 'portfolio_archive_title', array( 'label' => esc_html__( 'Show Portfolio Archive Title', 'shapely' ), 'description' => esc_html__( 'Show/hide the title from the Portfolio Archive Page', 'shapely' ), 'section' => 'shapely_projects_section', 'type' => 'checkbox', ) ); } $wp_customize->add_setting( 'portfolio_name', array( 'default' => '', 'sanitize_callback' => 'wp_kses_stripslashes', ) ); $wp_customize->add_control( 'portfolio_name', array( 'label' => esc_html__( 'Portfolio Archive Title', 'shapely' ), 'description' => esc_html__( 'Add a title on the Portfolio Archive Page.', 'shapely' ), 'section' => 'shapely_projects_section', ) ); $wp_customize->add_setting( 'portfolio_description', array( 'default' => '', 'sanitize_callback' => 'wp_kses_post', ) ); $wp_customize->add_control( 'portfolio_description', array( 'type' => 'textarea', 'label' => esc_html__( 'Portfolio Archive Description', 'shapely' ), 'description' => esc_html__( 'Add a description on the Portfolio Archive Page.', 'shapely' ), 'section' => 'shapely_projects_section', ) ); $wp_customize->add_setting( 'projects_layout_view', array( 'default' => 'mansonry', 'sanitize_callback' => 'wp_kses_stripslashes', ) ); $wp_customize->add_control( 'projects_layout_view', array( 'label' => esc_html__( 'Projects Layout', 'shapely' ), 'description' => esc_html__( 'Choose how you want to display projects', 'shapely' ), 'section' => 'shapely_projects_section', 'type' => 'select', 'choices' => array( 'mansonry' => esc_html__( 'Masonry', 'shapely' ), 'grid' => esc_html__( 'Grid', 'shapely' ), ), ) ); $wp_customize->add_setting( 'projects_layout_template', array( 'default' => 'full-width', 'sanitize_callback' => 'shapely_sanitize_blog_layout', ) ); $wp_customize->add_control( 'projects_layout_template', array( 'label' => esc_html__( 'Projects Template', 'shapely' ), 'description' => esc_html__( 'Choose the template for your projects archive page', 'shapely' ), 'section' => 'shapely_projects_section', 'type' => 'select', 'choices' => array( 'full-width' => esc_html__( 'Full Width', 'shapely' ), 'no-sidebar' => esc_html__( 'No Sidebar', 'shapely' ), 'sidebar-left' => esc_html__( 'Sidebar Left', 'shapely' ), 'sidebar-right' => esc_html__( 'Sidebar Right', 'shapely' ), ), ) ); } // Single Project $wp_customize->add_setting( 'project_title_in_header', array( 'default' => 1, 'sanitize_callback' => 'shapely_sanitize_checkbox', ) ); $wp_customize->add_setting( 'title_above_project', array( 'default' => 1, 'sanitize_callback' => 'shapely_sanitize_checkbox', ) ); $wp_customize->add_setting( 'project_date', array( 'default' => 1, 'sanitize_callback' => 'shapely_sanitize_checkbox', ) ); $wp_customize->add_setting( 'project_category', array( 'default' => 1, 'sanitize_callback' => 'shapely_sanitize_checkbox', ) ); $wp_customize->add_setting( 'project_author', array( 'default' => 1, 'sanitize_callback' => 'shapely_sanitize_checkbox', ) ); $wp_customize->add_setting( 'project_first_letter_caps', array( 'default' => 1, 'sanitize_callback' => 'shapely_sanitize_checkbox', ) ); $wp_customize->add_setting( 'project_tags_project_meta', array( 'default' => 1, 'sanitize_callback' => 'shapely_sanitize_checkbox', ) ); $wp_customize->add_setting( 'related_projects_area', array( 'default' => 1, 'sanitize_callback' => 'shapely_sanitize_checkbox', ) ); $wp_customize->add_setting( 'project_author_area', array( 'default' => 1, 'sanitize_callback' => 'shapely_sanitize_checkbox', ) ); $wp_customize->add_setting( 'project_author_left_side', array( 'default' => 0, 'sanitize_callback' => 'shapely_sanitize_checkbox', ) ); $wp_customize->add_setting( 'project_author_email', array( 'default' => 0, 'sanitize_callback' => 'shapely_sanitize_checkbox', ) ); // Single Project Settings if ( class_exists( 'Epsilon_Control_Toggle' ) ) { $wp_customize->add_control( new Epsilon_Control_Toggle( $wp_customize, 'project_title_in_header', array( 'label' => esc_html__( 'Show title in header', 'shapely' ), 'description' => esc_html__( 'This will show/hide the project title from callout', 'shapely' ), 'section' => 'shapely_single_project_section', ) ) ); $wp_customize->add_control( new Epsilon_Control_Toggle( $wp_customize, 'title_above_project', array( 'label' => esc_html__( 'Show title above project', 'shapely' ), 'description' => esc_html__( 'This will show/hide the project title above project content', 'shapely' ), 'section' => 'shapely_single_project_section', ) ) ); $wp_customize->add_control( new Epsilon_Control_Toggle( $wp_customize, 'project_date', array( 'label' => esc_html__( 'Show the date', 'shapely' ), 'description' => esc_html__( 'This will show/hide the date when project was published', 'shapely' ), 'section' => 'shapely_single_project_section', ) ) ); $wp_customize->add_control( new Epsilon_Control_Toggle( $wp_customize, 'project_author', array( 'label' => esc_html__( 'Show the author', 'shapely' ), 'description' => esc_html__( 'This will show/hide the author who written the project under the project title', 'shapely' ), 'section' => 'shapely_single_project_section', ) ) ); $wp_customize->add_control( new Epsilon_Control_Toggle( $wp_customize, 'project_category', array( 'label' => esc_html__( 'Show the project type', 'shapely' ), 'description' => esc_html__( 'This will show/hide the type of project', 'shapely' ), 'section' => 'shapely_single_project_section', ) ) ); $wp_customize->add_control( new Epsilon_Control_Toggle( $wp_customize, 'project_first_letter_caps', array( 'label' => esc_html__( 'First Letter Caps', 'shapely' ), 'description' => esc_html__( 'This will transform your first letter from a project into uppercase', 'shapely' ), 'section' => 'shapely_single_project_section', ) ) ); $wp_customize->add_control( new Epsilon_Control_Toggle( $wp_customize, 'tags_project_meta', array( 'label' => esc_html__( 'Tags Project Meta', 'shapely' ), 'description' => esc_html__( 'This will show/hide tags from the end of project', 'shapely' ), 'section' => 'shapely_single_project_section', ) ) ); $wp_customize->add_control( new Epsilon_Control_Toggle( $wp_customize, 'related_projects_area', array( 'label' => esc_html__( 'Related Projects Area', 'shapely' ), 'description' => esc_html__( 'This will enable/disable the related projects', 'shapely' ), 'section' => 'shapely_single_project_section', ) ) ); $wp_customize->add_control( new Epsilon_Control_Toggle( $wp_customize, 'project_author_area', array( 'label' => esc_html__( 'Project Author Area', 'shapely' ), 'description' => esc_html__( 'This will show/hide the author box', 'shapely' ), 'section' => 'shapely_single_project_section', ) ) ); $wp_customize->add_control( new Epsilon_Control_Toggle( $wp_customize, 'project_author_left_side', array( 'label' => esc_html__( 'Project Author Left Side', 'shapely' ), 'description' => esc_html__( 'This will move the author box from the bottom of the project on top on the left side', 'shapely' ), 'section' => 'shapely_single_project_section', ) ) ); $wp_customize->add_control( new Epsilon_Control_Toggle( $wp_customize, 'project_author_email', array( 'label' => esc_html__( 'Show Author Email', 'shapely' ), 'description' => esc_html__( 'This will show/hide the author\'s email from the author box', 'shapely' ), 'section' => 'shapely_single_project_section', ) ) ); } else { $wp_customize->add_control( 'project_first_letter_caps', array( 'label' => esc_html__( 'First Letter Caps', 'shapely' ), 'description' => esc_html__( 'This will transform your first letter from a project into uppercase', 'shapely' ), 'section' => 'shapely_single_project_section', 'type' => 'checkbox', ) ); $wp_customize->add_control( 'tags_project_meta', array( 'label' => esc_html__( 'Tags Project Meta', 'shapely' ), 'description' => esc_html__( 'This will show/hide tags from the end of project', 'shapely' ), 'section' => 'shapely_single_project_section', 'type' => 'checkbox', ) ); $wp_customize->add_control( 'related_projects_area', array( 'label' => esc_html__( 'Related Projects Area', 'shapely' ), 'description' => esc_html__( 'This will enable/disable the related projects', 'shapely' ), 'section' => 'shapely_single_project_section', 'type' => 'checkbox', ) ); $wp_customize->add_control( 'project_author_area', array( 'label' => esc_html__( 'Project Author Area', 'shapely' ), 'description' => esc_html__( 'This will show/hide the author box', 'shapely' ), 'section' => 'shapely_single_project_section', 'type' => 'checkbox', ) ); $wp_customize->add_control( 'project_author_left_side', array( 'label' => esc_html__( 'Project Author Left Side', 'shapely' ), 'description' => esc_html__( 'This will move the author box from the bottom of the project on top on the left side', 'shapely' ), 'section' => 'shapely_single_project_section', 'type' => 'checkbox', ) ); $wp_customize->add_control( 'project_author_email', array( 'label' => esc_html__( 'Show Author Email', 'shapely' ), 'description' => esc_html__( 'This will show/hide the author\'s email from the author box', 'shapely' ), 'section' => 'shapely_single_project_section', 'type' => 'checkbox', ) ); } // End if(). $wp_customize->add_setting( 'single_project_layout_template', array( 'default' => 'sidebar-right', 'sanitize_callback' => 'shapely_sanitize_blog_layout', ) ); $wp_customize->add_control( 'single_project_layout_template', array( 'label' => esc_html__( 'Single Project Template', 'shapely' ), 'description' => esc_html__( 'Set the default template for single project', 'shapely' ), 'section' => 'shapely_single_project_section', 'type' => 'select', 'choices' => array( 'full-width' => esc_html__( 'Full Width', 'shapely' ), 'no-sidebar' => esc_html__( 'No Sidebar', 'shapely' ), 'sidebar-left' => esc_html__( 'Sidebar Left', 'shapely' ), 'sidebar-right' => esc_html__( 'Sidebar Right', 'shapely' ), ), ) ); } add_action( 'customize_register', 'shapely_customizer' ); /** * Sanitize logo dimension setting. */ function shapely_sanitize_logo_dimension( $dimensions ) { $new_dimensions = array(); if ( isset( $dimensions['width'] ) ) { $new_dimensions['width'] = abs( floatval( $dimensions['width'] ) ); } if ( isset( $dimensions['height'] ) ) { $new_dimensions['height'] = abs( floatval( $dimensions['height'] ) ); } return $new_dimensions; } /** * */ function active_callback_toggle_choice( $control ) { if ( $control->manager->get_setting( 'shapely_transparent_header' )->value() == 1 ) { return true; } else { return false; } } /** * Sanitize checkbox for WordPress customizer. */ function shapely_sanitize_checkbox( $input ) { if ( 1 == $input ) { return true; } else { return false; } } /** * Sanitize layout control. */ function shapely_sanitize_blog_layout( $input ) { if ( in_array( $input, array( 'full-width', 'no-sidebar', 'sidebar-left', 'sidebar-right' ) ) ) { return $input; } else { return 'sidebar-right'; } } /** * Adds sanitization callback function: Sidebar Layout. */ function shapely_sanitize_layout( $input ) { $shapely_site_layout = array( 'pull-right' => esc_html__( 'Left Sidebar', 'shapely' ), 'side-right' => esc_html__( 'Right Sidebar', 'shapely' ), 'no-sidebar' => esc_html__( 'No Sidebar', 'shapely' ), 'full-width' => esc_html__( 'Full Width', 'shapely' ), ); if ( array_key_exists( $input, $shapely_site_layout ) ) { return $input; } else { return ''; } } /** * Add CSS for custom controls. */ function shapely_customizer_custom_control_css() { ?> <style> #customize-control-shapely-main_body_typography-size select, #customize-control-shapely-main_body_typography-face select, #customize-control-shapely-main_body_typography-style select { width: 60%; } .shapely-logo-dimension .half { width: 49%; float: left; } .shapely-logo-dimension .half:nth-child(2) { margin-left: 2%; } .shapely-logo-dimension .ratio { clear: both; } .widget-content .iris-picker .iris-strip .ui-slider-handle { top: auto; transform: translateX(0); } .widget-content .iris-picker .iris-slider-offset { margin: 0; } </style> <?php } add_action( 'customize_controls_print_styles', 'shapely_customizer_custom_control_css' ); /** * Binds JS handlers to make Theme Customizer preview reload changes asynchronously. */ function shapely_customize_preview_js() { wp_enqueue_script( 'shapely_customizer', get_template_directory_uri() . '/assets/js/customizer-preview.js', array( 'customize-preview' ), '20140317', true ); } add_action( 'customize_preview_init', 'shapely_customize_preview_js' ); function shapely_customize_preview() { wp_enqueue_script( 'shapely_customizer', get_template_directory_uri() . '/assets/js/customizer.js', array( 'customize-preview' ), '20140317', true ); } add_action( 'customize_controls_enqueue_scripts', 'shapely_customize_preview' );