WordPress.org

Make WordPress Core

Ticket #38627: 38627.diff

File 38627.diff, 2.4 KB (added by bradyvercher, 5 years ago)
  • src/wp-content/themes/twentyseventeen/assets/js/customize-preview.js

     
    66
    77( function( $ ) {
    88
     9        var settings = _twentyseventeenCustomizePreviewSettings;
     10
    911        // Collect information from customize-controls.js about which panels are opening
    1012        wp.customize.bind( 'preview-ready', function() {
    1113                wp.customize.preview.bind( 'section-highlight', function( data ) {
     
    102104                        }
    103105                } );
    104106        } );
     107
     108        // Whether a header image is available.
     109        function hasHeaderImage() {
     110                var image = wp.customize( 'header_image' )();
     111                return '' !== image && 'remove-header' !== image;
     112        }
     113
     114        // Whether a header video is available.
     115        function hasHeaderVideo() {
     116                var externalVideo = wp.customize( 'external_header_video' )(),
     117                        video = wp.customize( 'header_video' )();
     118
     119                return '' !== externalVideo || ( 0 !== video && '' !== video );
     120        }
     121
     122        // Toggle a body class if a custom header exists.
     123        $.each( [ 'external_header_video', 'header_image', 'header_video' ], function( index, settingId ) {
     124                wp.customize( settingId, function( setting ) {
     125                        setting.bind(function() {
     126                                if ( hasHeaderImage() || ( hasHeaderVideo() && !! settings.isFrontPage ) ) {
     127                                        $( document.body ).addClass( 'has-header-image' );
     128                                } else {
     129                                        $( document.body ).removeClass( 'has-header-image' );
     130                                }
     131                        } );
     132                } );
     133        } );
     134
    105135} )( jQuery );
  • src/wp-content/themes/twentyseventeen/inc/customizer.php

     
    200200add_action( 'customize_preview_init', 'twentyseventeen_customize_preview_js' );
    201201
    202202/**
     203 * Export data for the Twenty Seventeen Customize preview script.
     204 */
     205function twentyseventeen_export_customize_preview_data() {
     206        wp_localize_script( 'twentyseventeen-customize-preview', '_twentyseventeenCustomizePreviewSettings', array(
     207                'isFrontPage' => twentyseventeen_is_frontpage(),
     208        ) );
     209}
     210add_action( 'wp_enqueue_scripts', 'twentyseventeen_export_customize_preview_data' );
     211
     212/**
    203213 * Load dynamic logic for the customizer controls area.
    204214 */
    205215function twentyseventeen_panels_js() {