array( 'color' => $color_value ),
* $value => array( 'color' => $color_value ),
* )`
*
*/
/**
* Radio color customize control.
*
* @since 3.0.0
* @access public
*/
class Bulletin_News_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 = 'bulletin-news-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( 'Bulletin_News_Customize_Control_Radio_Color' );
$default = bulletin_news_get_default_mods();
$wp_customize->get_setting( 'blogname' )->transport = 'postMessage';
$wp_customize->get_setting( 'blogdescription' )->transport = 'postMessage';
$wp_customize->get_setting( 'header_textcolor' )->transport = 'postMessage';
// Remove the core header textcolor control, as it shares the main text color.
$wp_customize->remove_control( 'header_textcolor' );
// Header title color setting and control.
$wp_customize->add_setting( 'header_title_color', array(
'sanitize_callback' => 'sanitize_hex_color',
'transport' => 'refresh'
) );
$wp_customize->add_control( new WP_Customize_Color_Control( $wp_customize, 'header_title_color', array(
'priority' => 5,
'label' => esc_html__( 'Header Title Color', 'bulletin-news' ),
'section' => 'colors',
) ) );
if ( isset( $wp_customize->selective_refresh ) ) {
$wp_customize->selective_refresh->add_partial( 'blogname', array(
'selector' => '.site-title a',
'render_callback' => 'bulletin_news_customize_partial_blogname',
) );
$wp_customize->selective_refresh->add_partial( 'blogdescription', array(
'selector' => '.site-description',
'render_callback' => 'bulletin_news_customize_partial_blogdescription',
) );
}
/**
*
*
* Header panel
*
*
*/
// Header panel
$wp_customize->add_panel(
'bulletin_news_header_panel',
array(
'title' => esc_html__( 'Header', 'bulletin-news' ),
'priority' => 100
)
);
$wp_customize->get_section( 'header_image' )->panel = 'bulletin_news_header_panel';
// ADS image
$wp_customize->add_section(
'bulletin_news_header_ads',
array(
'title' => esc_html__( 'Header Advertisment image', 'bulletin-news' ),
'panel' => 'bulletin_news_header_panel',
)
);
// Header Ads control
$wp_customize->add_setting(
'bulletin_news_header_ads_image_enable',
array(
'sanitize_callback' => 'bulletin_news_sanitize_checkbox',
'default' => false,
'transport' => 'refresh',
)
);
$wp_customize->add_control(
'bulletin_news_header_ads_image_enable',
array(
'section' => 'bulletin_news_header_ads',
'type' => 'checkbox',
'label' => esc_html__( 'Ads enable in Header', 'bulletin-news' ),
)
);
// Header Ads image setting
$wp_customize->add_setting(
'bulletin_news_header_ads_image',
array(
'sanitize_callback' => 'bulletin_news_sanitize_image',
)
);
$wp_customize->add_control(
new WP_Customize_Image_Control(
$wp_customize,
'bulletin_news_header_ads_image',
array(
'section' => 'bulletin_news_header_ads',
'label' => esc_html__( 'Header Advertisment image:', 'bulletin-news' ),
)
)
);
// Header text display setting
$wp_customize->add_setting(
'bulletin_news_header_ads_image_url',
array(
'sanitize_callback' => 'esc_url_raw',
)
);
$wp_customize->add_control(
'bulletin_news_header_ads_image_url',
array(
'section' => 'bulletin_news_header_ads',
'type' => 'url',
'label' => esc_html__( 'Ads Url', 'bulletin-news' ),
)
);
// ADS image
$wp_customize->add_section(
'bulletin_news_header_background',
array(
'title' => esc_html__( 'Header background image', 'bulletin-news' ),
'panel' => 'bulletin_news_header_panel',
)
);
// Header Ads image setting
$wp_customize->add_setting(
'bulletin_news_header_background_image',
array(
'sanitize_callback' => 'bulletin_news_sanitize_image',
)
);
$wp_customize->add_control(
new WP_Customize_Image_Control(
$wp_customize,
'bulletin_news_header_background_image',
array(
'section' => 'bulletin_news_header_background',
'label' => esc_html__( 'Header background Image', 'bulletin-news' ),
)
)
);
// Header text display setting
$wp_customize->add_setting(
'bulletin_news_header_text_display',
array(
'sanitize_callback' => 'bulletin_news_sanitize_checkbox',
'default' => true,
'transport' => 'postMessage',
)
);
$wp_customize->add_control(
'bulletin_news_header_text_display',
array(
'section' => 'title_tagline',
'type' => 'checkbox',
'label' => esc_html__( 'Display Site Title and Tagline', 'bulletin-news' ),
)
);
/**
*
*
* Color panel
*
*
*/
// Header panel
$wp_customize->add_panel(
'bulletin_news_color_panel',
array(
'title' => esc_html__( 'Color Options', 'bulletin-news' ),
'priority' => 100,
)
);
// Header tagline color setting
$wp_customize->add_setting(
'bulletin_news_header_tagline',
array(
'sanitize_callback' => 'bulletin_news_sanitize_hex_color',
'default' => '#929292',
'transport' => 'postMessage',
)
);
$wp_customize->add_control(
new WP_Customize_Color_Control(
$wp_customize,
'bulletin_news_header_tagline',
array(
'section' => 'colors',
'label' => esc_html__( 'Site tagline Color:', 'bulletin-news' ),
)
)
);
/**
*
*
* Home sections panel
*
*
*/
// Home sections panel
$wp_customize->add_panel(
'bulletin_news_home_panel',
array(
'title' => esc_html__( 'Homepage Sections', 'bulletin-news' ),
'priority' => 105
)
);
// Your latest posts title setting
$wp_customize->add_setting(
'bulletin_news_your_latest_posts_title',
array(
'sanitize_callback' => 'sanitize_text_field',
'default' => esc_html__( 'Blogs', 'bulletin-news' ),
'transport' => 'postMessage',
)
);
$wp_customize->add_control(
'bulletin_news_your_latest_posts_title',
array(
'section' => 'static_front_page',
'label' => esc_html__( 'Title:', 'bulletin-news' ),
'active_callback' => 'bulletin_news_is_latest_posts'
)
);
$wp_customize->selective_refresh->add_partial(
'bulletin_news_your_latest_posts_title',
array(
'selector' => '.home.blog #shadow-page-header .shadow-page-title',
'render_callback' => 'bulletin_news_your_latest_posts_partial_title',
)
);
require get_parent_theme_file_path('/inc/customizer/frontpage/breaking-news.php');
require get_parent_theme_file_path('/inc/customizer/frontpage/hero-section.php');
require get_parent_theme_file_path('/inc/customizer/frontpage/slider.php');
require get_parent_theme_file_path('/inc/customizer/frontpage/trending.php');
require get_parent_theme_file_path('/inc/customizer/frontpage/featured-articles.php');
require get_parent_theme_file_path('/inc/customizer/frontpage/two-column.php');
require get_parent_theme_file_path('/inc/customizer/frontpage/must-read.php');
require get_parent_theme_file_path('/inc/customizer/theme-options/menu.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/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(
'bulletin_news_general_panel',
array(
'title' => esc_html__( 'Theme Option Settings', 'bulletin-news' ),
'priority' => 107
)
);
$wp_customize->get_section( 'custom_css' )->panel = 'bulletin_news_home_panel';
$wp_customize->add_panel(
'bulletin_news_background_image_panel',
array(
'title' => esc_html__( 'Background Image', 'bulletin-news' ),
'priority' => 101
)
);
}
add_action( 'customize_register', 'bulletin_news_customize_register' );
/**
* Render the site title for the selective refresh partial.
*
* @return void
*/
function bulletin_news_customize_partial_blogname() {
bloginfo( 'name' );
}
/**
* Render the site tagline for the selective refresh partial.
*
* @return void
*/
function bulletin_news_customize_partial_blogdescription() {
bloginfo( 'description' );
}
/**
* Binds JS handlers to make Theme Customizer preview reload changes asynchronously.
*/
function bulletin_news_customize_preview_js() {
wp_enqueue_script( 'bulletin-news-customizer', get_theme_file_uri( '/assets/js/customizer.js' ), array( 'customize-preview' ), '20151215', true );
}
add_action( 'customize_preview_init', 'bulletin_news_customize_preview_js' );
/**
* Binds JS handlers for Customizer controls.
*/
function bulletin_news_customize_control_js() {
wp_enqueue_style( 'bulletin-news-customize-style', get_theme_file_uri( '/assets/css/customize-controls.css' ), array(), '20151215' );
wp_enqueue_script( 'bulletin-news-customize-control', get_theme_file_uri( '/assets/js/customize-control.js' ), array( 'jquery', 'customize-controls' ), '20151215', true );
$bullentin_news_localized_data = array(
'refresh_msg' => esc_html__( 'Refresh the page after Save and Publish.', 'bulletin-news' ),
'reset_msg' => esc_html__( 'Warning!!! This will reset all the settings. Refresh the page after Save and Publish to reset all.', 'bulletin-news' ),
);
wp_localize_script( 'bulletin-news-customize-control', 'localized_data', $bullentin_news_localized_data );
}
add_action( 'customize_controls_enqueue_scripts', 'bulletin_news_customize_control_js' );
/**
* Selective refresh.
*/
/**
* Selective refresh for footer copyright.
*/
function bulletin_news_copyright_partial() {
return wp_kses_post( get_theme_mod( 'bulletin_news_copyright_txt' ) );
}
/**
* Selective refresh for your latest posts title.
*/
function bulletin_news_your_latest_posts_partial_title() {
return esc_html( get_theme_mod( 'bulletin_news_your_latest_posts_title' ) );
}