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');