Make WordPress Core

Ticket #46604: 46604.2.patch

File 46604.2.patch, 1.3 KB (added by sabernhardt, 4 years ago)

also adjusts Customizer to show placeholder if selected page is draft/trashed/deleted

  • src/wp-content/themes/twentyseventeen/inc/template-tags.php

     
    139139                $twentyseventeencounter = $id;
    140140        }
    141141
     142        // Only when in Customizer, use a placeholder for an empty panel.
     143        $show_panel_placeholder = false;
     144
    142145        global $post; // Modify the global post object before setting up post data.
    143146        if ( get_theme_mod( 'panel_' . $id ) ) {
    144147                $post = get_post( get_theme_mod( 'panel_' . $id ) );
     
    145148                setup_postdata( $post );
    146149                set_query_var( 'panel', $id );
    147150
    148                 get_template_part( 'template-parts/page/content', 'front-page-panels' );
     151                if ( $post && in_array( $post->post_status, array( 'publish', 'private' ) ) ) {
     152                        get_template_part( 'template-parts/page/content', 'front-page-panels' );
     153                } elseif ( is_customize_preview() ) {
     154                        $show_panel_placeholder = true;
     155                }
    149156
    150157                wp_reset_postdata();
    151158        } elseif ( is_customize_preview() ) {
     159                $show_panel_placeholder = true;
     160        }
     161
     162        if ( $show_panel_placeholder ) {
    152163                // The output placeholder anchor.
    153164                printf(
    154165                        '<article class="panel-placeholder panel twentyseventeen-panel twentyseventeen-panel%1$s" id="panel%1$s">' .