/** * JS for handling the Site Logo real-time display in the Customizer preview frame. */ (function($){ var api = wp.customize, $body, $anchor, $logo, size; function cacheSelectors() { $body = $( 'body' ); $anchor = $( '.site-logo-link' ); $logo = $( '.site-logo' ); size = $logo.attr( 'data-size' ); } api( 'site_logo', function( value ){ value.bind( function( newVal ){ // grab selectors the first time through if ( ! $body ) { cacheSelectors(); } // Let's update our preview logo. if ( newVal && newVal.url ) { // If the source was smaller than the size required by the theme, give the biggest we've got. if ( ! newVal.sizes[ size ] ) { size = 'full'; } $logo.attr({ height: newVal.sizes[ size ].height, width: newVal.sizes[ size ].width, src: newVal.sizes[ size ].url }); $anchor.show(); $body.addClass( 'has-site-logo' ); } else { $anchor.hide(); $body.removeClass( 'has-site-logo' ); } }); }); })(jQuery);