Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
62 changes: 42 additions & 20 deletions inc/customizer.php
Original file line number Diff line number Diff line change
Expand Up @@ -7,29 +7,23 @@
* @since Radiate 1.0
*/

/**
* Add postMessage support for site title and description for the Theme Customizer.
*
* @param WP_Customize_Manager $wp_customize Theme Customizer object.
*/
function radiate_customize_register( $wp_customize ) {
function radiate_register_theme_customizer( $wp_customize ) {
$wp_customize->get_setting( 'blogname' )->transport = 'postMessage';
$wp_customize->get_setting( 'blogdescription' )->transport = 'postMessage';
$wp_customize->get_setting( 'header_textcolor' )->transport = 'postMessage';
}
add_action( 'customize_register', 'radiate_customize_register' );

/**
* Binds JS handlers to make Theme Customizer preview reload changes asynchronously.
*/
function radiate_customize_preview_js() {
wp_enqueue_script( 'radiate_customizer', get_template_directory_uri() . '/js/customizer.js', array( 'customize-preview' ), '20130508', true );
}
add_action( 'customize_preview_init', 'radiate_customize_preview_js' );
if ( isset( $wp_customize->selective_refresh ) ) {
$wp_customize->selective_refresh->add_partial( 'blogname', array(
'selector' => '.site-title a',
'render_callback' => 'radiate_customize_partial_blogname',
) );

/*****************************************************************************************/
$wp_customize->selective_refresh->add_partial( 'blogdescription', array(
'selector' => '.site-description',
'render_callback' => 'radiate_customize_partial_blogdescription',
) );
}

function radiate_register_theme_customizer( $wp_customize ) {
// remove control
$wp_customize->remove_control('blogdescription');

Expand Down Expand Up @@ -102,9 +96,10 @@ public function render_content() {
$wp_customize->add_setting(
'radiate_color_scheme',
array(
'default' => '#632E9B',
'capability' => 'edit_theme_options',
'sanitize_callback' => 'radiate_sanitize_hex_color',
'default' => '#632E9B',
'capability' => 'edit_theme_options',
'transport' => 'postMessage',
'sanitize_callback' => 'radiate_sanitize_hex_color',
'sanitize_js_callback' => 'radiate_sanitize_escaping'
)
);
Expand Down Expand Up @@ -359,6 +354,33 @@ function radiate_sanitize_important_links() {
}
add_action( 'customize_register', 'radiate_register_theme_customizer' );

/**
* Binds JS handlers to make Theme Customizer preview reload changes asynchronously.
*/
function radiate_customize_preview_js() {
wp_enqueue_script( 'radiate_customizer', get_template_directory_uri() . '/js/customizer.js', array( 'customize-preview' ), false, true );
}
add_action( 'customize_preview_init', 'radiate_customize_preview_js' );

/**
* Render the site title for the selective refresh partial.
*
* @return void
*/
function radiate_customize_partial_blogname() {
bloginfo( 'name' );
}

/**
* Render the site tagline for the selective refresh partial.
*
* @return void
*/
function radiate_customize_partial_blogdescription() {
bloginfo( 'description' );
}


if ( ! function_exists( 'radiate_darkcolor' ) ) :
/**
* Generate darker color
Expand Down
37 changes: 37 additions & 0 deletions js/customizer.js
Original file line number Diff line number Diff line change
Expand Up @@ -33,4 +33,41 @@
}
} );
} );

// Primary color option
wp.customize( 'radiate_color_scheme', function ( value ) {
value.bind( function ( primaryColor ) {
// Store internal style for primary color
var primaryColorStyle = '<style id="radiate-internal-primary-color"> blockquote{border-color:#EAEAEA #EAEAEA #EAEAEA ' + primaryColor + '}' +
'.site-title a:hover,a{color:' + primaryColor + '}' +
'#masthead .search-form,.main-navigation a:hover,.main-navigation ul li ul li a:hover,' +
'.main-navigation ul li ul li:hover>a,.main-navigation ul li.current-menu-ancestor a,' +
'.main-navigation ul li.current-menu-item a,.main-navigation ul li.current-menu-item ul li a:hover,' +
'.main-navigation ul li.current_page_ancestor a,.main-navigation ul li.current_page_item a,' +
'.main-navigation ul li:hover>a{background-color:' + primaryColor + '}' +
'.header-search-icon:before{color:' + primaryColor + '}' +
'button,input[type=button],input[type=reset],input[type=submit]{background-color:' + primaryColor + '}' +
'#content .comments-area a.comment-edit-link:hover,#content .comments-area a.comment-permalink:hover,' +
'#content .comments-area article header cite a:hover,#content .entry-meta span a:hover,' +
'#content .entry-title a:hover,.comment .comment-reply-link:hover,.comments-area .comment-author-link a:hover,' +
'.entry-meta span:hover,.site-header .menu-toggle,.site-header .menu-toggle:hover{color:' + primaryColor + '}' +
'.main-small-navigation ul li ul li a:hover,.main-small-navigation ul li:hover,' +
'.main-small-navigation ul li a:hover,.main-small-navigation ul li ul li:hover>a,' +
'.main-small-navigation ul > .current_page_item, .main-small-navigation ul > .current-menu-item,' +
'.main-small-navigation ul li.current-menu-item ul li a:hover{background-color:' + primaryColor + '}' +
'#featured_pages a.more-link:hover{border-color:' + primaryColor + ';color:' + primaryColor + '}' +
'a#back-top:before{background-color:' + primaryColor + '}a#scroll-up span{color:' + primaryColor + '}' +
'.woocommerce ul.products li.product .onsale,.woocommerce span.onsale,' +
'.woocommerce #respond input#submit:hover, .woocommerce a.button:hover,' +
'.wocommerce button.button:hover, .woocommerce input.button:hover, .woocommerce #respond input#submit.alt:hover, .woocommerce a.button.alt:hover,' +
'.woocommerce button.button.alt:hover, .woocommerce input.button.alt:hover {background-color: ' + primaryColor + '}' +
'.woocommerce .woocommerce-message::before { color: ' + primaryColor + '; }' +
'.main-small-navigation ul li ul li.current-menu-item > a { background: ' + primaryColor + '; }</style>';

// Remove previously create internal style and add new one.
$( 'head #radiate-internal-primary-color' ).remove();
$( 'head' ).append( primaryColorStyle );
}
);
} );
} )( jQuery );
5 changes: 3 additions & 2 deletions readme.txt
Original file line number Diff line number Diff line change
Expand Up @@ -65,9 +65,10 @@ If you want to translate this theme to your language, Please visit:- https://tra

== CHANGE LOG ==
= TBD =
* Tweak - Add theme support for Jetpack Responsive Videos.
* Tweak - Add theme support for Jetpack Responsive Videos.
* Tweaks - Added welcome page
* Fix - Submenu issue fixed
* Fix - Submenu issue fixed
* Tweak - Introduce selective refresh and live js for site title, description and customizer option

= Version 1.2.6 -2017-05-10 =
* Tweaks - Add TGMPA to recommend ThemeGrill Demo Importer plugin
Expand Down