| 12345678910111213141516171819202122232425262728293031323334353637383940414243 |
- /**
- * 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);
|