Make WordPress Core

Ticket #38377: 38377.0.diff

File 38377.0.diff, 2.7 KB (added by westonruter, 10 years ago)
  • src/wp-admin/js/customize-controls.js

    diff --git src/wp-admin/js/customize-controls.js src/wp-admin/js/customize-controls.js
    index e354d0d..2cd47f1 100644
     
    33363336                 * @param {object} attachment
    33373337                 */
    33383338                setImageFromAttachment: function( attachment ) {
    3339                         var sizes = [ 'site_icon-32', 'thumbnail', 'full' ],
     3339                        var sizes = [ 'site_icon-32', 'thumbnail', 'full' ], link,
    33403340                                icon;
    33413341
    33423342                        _.each( sizes, function( size ) {
     
    33503350                        // Set the Customizer setting; the callback takes care of rendering.
    33513351                        this.setting( attachment.id );
    33523352
     3353                        if ( ! icon ) {
     3354                                return;
     3355                        }
     3356
    33533357                        // Update the icon in-browser.
    3354                         $( 'link[sizes="32x32"]' ).attr( 'href', icon.url );
     3358                        link = $( 'link[rel="icon"][sizes="32x32"]' );
     3359                        link.attr( 'href', icon.url );
    33553360                },
    33563361
    33573362                /**
     
    33683373                        this.params.attachment = {};
    33693374                        this.setting( '' );
    33703375                        this.renderContent(); // Not bound to setting change when emptying.
    3371                         $( 'link[rel="icon"]' ).attr( 'href', '' );
     3376                        $( 'link[rel="icon"][sizes="32x32"]' ).attr( 'href', '/favicon.ico' ); // Set to default.
    33723377                }
    33733378        });
    33743379
  • src/wp-includes/general-template.php

    diff --git src/wp-includes/general-template.php src/wp-includes/general-template.php
    index 5b36272..e91db54 100644
    function wp_site_icon() { 
    27802780                return;
    27812781        }
    27822782
    2783         $meta_tags = array(
    2784                 sprintf( '<link rel="icon" href="%s" sizes="32x32" />', esc_url( get_site_icon_url( 32 ) ) ),
    2785                 sprintf( '<link rel="icon" href="%s" sizes="192x192" />', esc_url( get_site_icon_url( 192 ) ) ),
    2786                 sprintf( '<link rel="apple-touch-icon-precomposed" href="%s" />', esc_url( get_site_icon_url( 180 ) ) ),
    2787                 sprintf( '<meta name="msapplication-TileImage" content="%s" />', esc_url( get_site_icon_url( 270 ) ) ),
    2788         );
     2783        $meta_tags = array();
     2784        $icon_32 = get_site_icon_url( 32 );
     2785        if ( empty( $icon_32 ) && is_customize_preview() ) {
     2786                $icon_32 = '/favicon.ico'; // Serve default favicon URL in customizer so element can be updated for preview.
     2787        }
     2788        if ( $icon_32 ) {
     2789                $meta_tags[] = sprintf( '<link rel="icon" href="%s" sizes="32x32" />', esc_url( $icon_32 ) );
     2790        }
     2791        $icon_192 = get_site_icon_url( 192 );
     2792        if ( $icon_192 ) {
     2793                $meta_tags[] = sprintf( '<link rel="icon" href="%s" sizes="192x192" />', esc_url( $icon_192 ) );
     2794        }
     2795        $icon_180 = get_site_icon_url( 180 );
     2796        if ( $icon_180 ) {
     2797                $meta_tags[] = sprintf( '<link rel="apple-touch-icon-precomposed" href="%s" />', esc_url( $icon_180 ) );
     2798        }
     2799        $icon_270 = get_site_icon_url( 270 );
     2800        if ( $icon_270 ) {
     2801                $meta_tags[] = sprintf( '<meta name="msapplication-TileImage" content="%s" />', esc_url( $icon_270 ) );
     2802        }
    27892803
    27902804        /**
    27912805         * Filters the site icon meta tags, so Plugins can add their own.