add_panel( 'gridbox_options_panel', array( 'priority' => 180, 'capability' => 'edit_theme_options', 'theme_supports' => '', 'title' => esc_html__( 'Theme Options', 'gridbox' ), 'description' => '', ) ); // Add postMessage support for site title and description. $wp_customize->get_setting( 'blogname' )->transport = 'postMessage'; $wp_customize->get_setting( 'blogdescription' )->transport = 'postMessage'; // Change default background section $wp_customize->get_control( 'background_color' )->section = 'background_image'; $wp_customize->get_section( 'background_image' )->title = esc_html__( 'Background', 'gridbox' ); // Add Display Site Title Setting $wp_customize->add_setting( 'gridbox_theme_options[site_title]', array( 'default' => true, 'type' => 'option', 'transport' => 'refresh', 'sanitize_callback' => 'gridbox_sanitize_checkbox' ) ); $wp_customize->add_control( 'gridbox_theme_options[site_title]', array( 'label' => esc_html__( 'Display Site Title', 'gridbox' ), 'section' => 'title_tagline', 'settings' => 'gridbox_theme_options[site_title]', 'type' => 'checkbox', 'priority' => 10 ) ); // Add Header Image Link $wp_customize->add_setting( 'gridbox_theme_options[custom_header_link]', array( 'default' => '', 'type' => 'option', 'transport' => 'refresh', 'sanitize_callback' => 'esc_url' ) ); $wp_customize->add_control( 'gridbox_control_custom_header_link', array( 'label' => esc_html__( 'Header Image Link', 'gridbox' ), 'section' => 'header_image', 'settings' => 'gridbox_theme_options[custom_header_link]', 'type' => 'url', 'priority' => 10 ) ); // Add Custom Header Hide Checkbox $wp_customize->add_setting( 'gridbox_theme_options[custom_header_hide]', array( 'default' => false, 'type' => 'option', 'transport' => 'refresh', 'sanitize_callback' => 'gridbox_sanitize_checkbox' ) ); $wp_customize->add_control( 'gridbox_control_custom_header_hide', array( 'label' => esc_html__( 'Hide header image on front page', 'gridbox' ), 'section' => 'header_image', 'settings' => 'gridbox_theme_options[custom_header_hide]', 'type' => 'checkbox', 'priority' => 15 ) ); } // gridbox_customize_register_options() add_action( 'customize_register', 'gridbox_customize_register_options' ); /** * Embed JS file to make Theme Customizer preview reload changes asynchronously. * */ function gridbox_customize_preview_js() { wp_enqueue_script( 'gridbox-customizer-preview', get_template_directory_uri() . '/js/customizer.js', array( 'customize-preview' ), '20151202', true ); } add_action( 'customize_preview_init', 'gridbox_customize_preview_js' ); /** * Embed JS file for Customizer Controls * */ function gridbox_customize_controls_js() { wp_enqueue_script( 'gridbox-customizer-controls', get_template_directory_uri() . '/js/customizer-controls.js', array(), '20151202', true ); // Localize the script wp_localize_script( 'gridbox-customizer-controls', 'gridbox_theme_links', array( 'title' => esc_html__( 'Theme Links', 'gridbox' ), 'themeURL' => esc_url( __( 'https://themezee.com/themes/gridbox/', 'gridbox' ) . '?utm_source=customizer&utm_medium=textlink&utm_campaign=gridbox&utm_content=theme-page' ), 'themeLabel' => esc_html__( 'Theme Page', 'gridbox' ), 'docuURL' => esc_url( __( 'https://themezee.com/docs/gridbox-documentation/', 'gridbox' ) . '?utm_source=customizer&utm_medium=textlink&utm_campaign=gridbox&utm_content=documentation' ), 'docuLabel' => esc_html__( 'Theme Documentation', 'gridbox' ), 'rateURL' => esc_url( 'http://wordpress.org/support/view/theme-reviews/gridbox?filter=5' ), 'rateLabel' => esc_html__( 'Rate this theme', 'gridbox' ), ) ); } add_action( 'customize_controls_enqueue_scripts', 'gridbox_customize_controls_js' ); /** * Embed CSS styles for the theme options in the Customizer * */ function gridbox_customize_preview_css() { wp_enqueue_style( 'gridbox-customizer-css', get_template_directory_uri() . '/css/customizer.css', array(), '20151202' ); } add_action( 'customize_controls_print_styles', 'gridbox_customize_preview_css' );