array( 'color' => $color_value ), * $value => array( 'color' => $color_value ), * )` * */ /** * Radio color customize control. * * @since 3.0.0 * @access public */ class Blog_Cafe_Customize_Control_Radio_Color extends WP_Customize_Control { /** * The type of customize control being rendered. * * @since 3.0.0 * @access public * @var string */ public $type = 'radio-color'; /** * Add custom parameters to pass to the JS via JSON. * * @since 3.0.0 * @access public * @return void */ public function to_json() { parent::to_json(); // We need to make sure we have the correct color URL. foreach ( $this->choices as $value => $args ) $this->choices[ $value ]['color'] = esc_attr( $args['color'] ); $this->json['choices'] = $this->choices; $this->json['link'] = $this->get_link(); $this->json['value'] = $this->value(); $this->json['id'] = $this->id; } /** * Don't render the content via PHP. This control is handled with a JS template. * * @since 4.0.0 * @access public * @return bool */ protected function render_content() {} /** * Underscore JS template to handle the control's output. * * @since 3.0.0 * @access public * @return void */ public function content_template() { ?> <# if ( ! data.choices ) { return; } #> <# if ( data.label ) { #> {{ data.label }} <# } #> <# if ( data.description ) { #> {{{ data.description }}} <# } #> <# _.each( data.choices, function( args, choice ) { #> <# } ) #> register_control_type( 'Blog_Cafe_Customize_Control_Radio_Color' ); /** * Upsell customizer section. * * @since 1.0.0 * @access public */ class Blog_Cafe_Customize_Section_Upsell extends WP_Customize_Section { /** * The type of customize section being rendered. * * @since 1.0.0 * @access public * @var string */ public $type = 'blog-cafe-upsell'; /** * Custom button text to output. * * @since 1.0.0 * @access public * @var string */ public $pro_text = ''; /** * Custom pro button URL. * * @since 1.0.0 * @access public * @var string */ public $pro_url = ''; /** * Add custom parameters to pass to the JS via JSON. * * @since 1.0.0 * @access public * @return void */ public function json() { $json = parent::json(); $json['pro_text'] = $this->pro_text; $json['pro_url'] = esc_url( $this->pro_url ); return $json; } /** * Outputs the Underscore.js template. * * @since 1.0.0 * @access public * @return void */ protected function render_template() { ?>
  • {{ data.title }} <# if ( data.pro_text && data.pro_url ) { #> {{ data.pro_text }} <# } #>

  • get_setting( 'blogname' )->transport = 'postMessage'; $wp_customize->get_setting( 'blogdescription' )->transport = 'postMessage'; $wp_customize->get_setting( 'header_textcolor' )->transport = 'postMessage'; // Register custom section types. $wp_customize->register_section_type( 'Blog_Cafe_Customize_Section_Upsell' ); $wp_customize->add_section( new Blog_Cafe_Customize_Section_Upsell( $wp_customize, 'theme_upsell', array( 'title' => esc_html__( 'Blog Cafe Pro', 'blog-cafe' ), 'pro_text' => esc_html__( 'Buy Pro', 'blog-cafe' ), 'pro_url' => 'http://www.shadowthemes.com/downloads/blog-cafe-pro/', 'priority' => 1, ) ) ); if ( isset( $wp_customize->selective_refresh ) ) { $wp_customize->selective_refresh->add_partial( 'blogname', array( 'selector' => '.site-title a', 'render_callback' => 'blog_cafe_customize_partial_blogname', ) ); $wp_customize->selective_refresh->add_partial( 'blogdescription', array( 'selector' => '.site-description', 'render_callback' => 'blog_cafe_customize_partial_blogdescription', ) ); } /** * * * Header panel * * */ // Header panel $wp_customize->add_panel( 'blog_cafe_header_panel', array( 'title' => esc_html__( 'Header', 'blog-cafe' ), 'priority' => 100 ) ); $wp_customize->get_section( 'header_image' )->panel = 'blog_cafe_header_panel'; // Header text display setting $wp_customize->add_setting( 'blog_cafe_header_text_display', array( 'sanitize_callback' => 'blog_cafe_sanitize_checkbox', 'default' => true, 'transport' => 'postMessage', ) ); $wp_customize->add_control( 'blog_cafe_header_text_display', array( 'section' => 'title_tagline', 'type' => 'checkbox', 'label' => esc_html__( 'Display Site Title and Tagline', 'blog-cafe' ), ) ); /** * * * Color panel * * */ // Header panel $wp_customize->add_panel( 'blog_cafe_color_panel', array( 'title' => esc_html__( 'Color Options', 'blog-cafe' ), 'priority' => 100, ) ); //$wp_customize->get_section( 'colors' )->panel = 'blog_cafe_color_panel'; // Header title color setting $wp_customize->add_setting( 'blog_cafe_header_title_color', array( 'sanitize_callback' => 'blog_cafe_sanitize_hex_color', 'default' => '#cf3140', 'transport' => 'postMessage', ) ); $wp_customize->add_control( new WP_Customize_Color_Control( $wp_customize, 'blog_cafe_header_title_color', array( 'section' => 'colors', 'label' => esc_html__( 'Site title Color:', 'blog-cafe' ), ) ) ); // Header tagline color setting $wp_customize->add_setting( 'blog_cafe_header_tagline', array( 'sanitize_callback' => 'blog_cafe_sanitize_hex_color', 'default' => '#929292', 'transport' => 'postMessage', ) ); $wp_customize->add_control( new WP_Customize_Color_Control( $wp_customize, 'blog_cafe_header_tagline', array( 'section' => 'colors', 'label' => esc_html__( 'Site tagline Color:', 'blog-cafe' ), ) ) ); /** * * * Home sections panel * * */ // Home sections panel $wp_customize->add_panel( 'blog_cafe_home_panel', array( 'title' => esc_html__( 'Homepage Sections', 'blog-cafe' ), 'priority' => 105 ) ); //$wp_customize->get_section( 'static_front_page' )->panel = 'blog_cafe_home_panel'; // Your latest posts title setting $wp_customize->add_setting( 'blog_cafe_your_latest_posts_title', array( 'sanitize_callback' => 'sanitize_text_field', 'default' => esc_html__( 'Blogs', 'blog-cafe' ), 'transport' => 'postMessage', ) ); $wp_customize->add_control( 'blog_cafe_your_latest_posts_title', array( 'section' => 'static_front_page', 'label' => esc_html__( 'Title:', 'blog-cafe' ), 'active_callback' => 'blog_cafe_is_latest_posts' ) ); $wp_customize->selective_refresh->add_partial( 'blog_cafe_your_latest_posts_title', array( 'selector' => '.home.blog #page-header .page-title', 'render_callback' => 'blog_cafe_your_latest_posts_partial_title', ) ); require get_parent_theme_file_path('/inc/customizer/frontpage/slider.php'); require get_parent_theme_file_path('/inc/customizer/frontpage/about.php'); require get_parent_theme_file_path('/inc/customizer/frontpage/trending.php'); require get_parent_theme_file_path('/inc/customizer/frontpage/featured.php'); require get_parent_theme_file_path('/inc/customizer/theme-options/general.php'); require get_parent_theme_file_path('/inc/customizer/theme-options/layout.php'); require get_parent_theme_file_path('/inc/customizer/theme-options/blog.php'); require get_parent_theme_file_path('/inc/customizer/theme-options/single-post.php'); require get_parent_theme_file_path('/inc/customizer/theme-options/single-page.php'); require get_parent_theme_file_path('/inc/customizer/theme-options/pagination.php'); require get_parent_theme_file_path('/inc/customizer/theme-options/footer.php'); require get_parent_theme_file_path('/inc/customizer/theme-options/reset.php'); /** * * General settings panel * */ // General settings panel $wp_customize->add_panel( 'blog_cafe_general_panel', array( 'title' => esc_html__( 'Theme Option Settings', 'blog-cafe' ), 'priority' => 107 ) ); $wp_customize->get_section( 'custom_css' )->panel = 'blog_cafe_home_panel'; $wp_customize->add_panel( 'blog_cafe_background_image_panel', array( 'title' => esc_html__( 'Background Image', 'blog-cafe' ), 'priority' => 101 ) ); } add_action( 'customize_register', 'blog_cafe_customize_register' ); /** * Render the site title for the selective refresh partial. * * @return void */ function blog_cafe_customize_partial_blogname() { bloginfo( 'name' ); } /** * Render the site tagline for the selective refresh partial. * * @return void */ function blog_cafe_customize_partial_blogdescription() { bloginfo( 'description' ); } /** * Binds JS handlers to make Theme Customizer preview reload changes asynchronously. */ function blog_cafe_customize_preview_js() { wp_enqueue_script( 'blog-cafe-customizer', get_theme_file_uri( '/assets/js/customizer.js' ), array( 'customize-preview' ), '20151215', true ); } add_action( 'customize_preview_init', 'blog_cafe_customize_preview_js' ); /** * Binds JS handlers for Customizer controls. */ function blog_cafe_customize_control_js() { wp_enqueue_style( 'blog-cafe-customize-style', get_theme_file_uri( '/assets/css/customize-controls.css' ), array(), '20151215' ); wp_enqueue_script( 'blog-cafe-customize-control', get_theme_file_uri( '/assets/js/customize-control.js' ), array( 'jquery', 'customize-controls' ), '20151215', true ); $localized_data = array( 'refresh_msg' => esc_html__( 'Refresh the page after Save and Publish.', 'blog-cafe' ), 'reset_msg' => esc_html__( 'Warning!!! This will reset all the settings. Refresh the page after Save and Publish to reset all.', 'blog-cafe' ), ); wp_localize_script( 'blog-cafe-customize-control', 'localized_data', $localized_data ); } add_action( 'customize_controls_enqueue_scripts', 'blog_cafe_customize_control_js' ); /** * Selective refresh. */ /** * Selective refresh for footer copyright. */ function blog_cafe_copyright_partial() { return wp_kses_post( get_theme_mod( 'blog_cafe_copyright_txt' ) ); } /** * Selective refresh for your latest posts title. */ function blog_cafe_your_latest_posts_partial_title() { return esc_html( get_theme_mod( 'blog_cafe_your_latest_posts_title' ) ); } require get_parent_theme_file_path('/inc/customizer/controller.php');