Ticket #38404: 38404.2.diff
| File 38404.2.diff, 4.6 KB (added by , 9 years ago) |
|---|
-
wp-content/themes/twentyseventeen/components/page/content-front-page-panels.php
8 8 * @version 1.0 9 9 */ 10 10 11 global $ twentyseventeencounter;11 global $active_panel; 12 12 13 13 ?> 14 14 15 15 <article id="post-<?php the_ID(); ?>" <?php post_class( 'twentyseventeen-panel ' ); ?> > 16 16 17 <span class="panel twentyseventeen-panel<?php echo esc_attr( $ twentyseventeencounter ); ?>" id="panel<?php echo esc_attr( $twentyseventeencounter); ?>">18 <span class="twentyseventeen-panel-title"><?php printf( __( 'Panel %1$s', 'twentyseventeen' ), esc_attr( $ twentyseventeencounter) ); ?></span>17 <span class="panel twentyseventeen-panel<?php echo esc_attr( $active_panel ); ?>" id="panel<?php echo esc_attr( $active_panel ); ?>"> 18 <span class="twentyseventeen-panel-title"><?php printf( __( 'Panel %1$s', 'twentyseventeen' ), esc_attr( $active_panel ) ); ?></span> 19 19 </span> 20 20 21 21 <?php if ( has_post_thumbnail() ) : -
wp-content/themes/twentyseventeen/front-page.php
13 13 */ 14 14 15 15 get_header(); ?> 16 17 16 <div id="primary" class="content-area"> 18 17 <main id="main" class="site-main" role="main"> 19 18 … … 27 26 endif; ?> 28 27 29 28 <?php 30 // Get each of our panels and show the post data.31 $ panels = array( '1', '2', '3', '4');29 // Get each of our active panels and show the post data. 30 $active_panels = twentyseventeen_active_panels(); 32 31 $titles = array(); 32 33 global $active_panel; // Used in components/page/content-front-page-panels.php file. 33 34 34 global $twentyseventeencounter; // Used in components/page/content-front-page-panels.php file. 35 if ( ! empty ( $active_panels ) ) : // If we have pages to show. 36 foreach ( $active_panels as $panel ) : 37 $active_panel = $panel; 38 $post = get_post( get_theme_mod( 'panel_' . $panel ) ); 39 setup_postdata( $post ); 40 set_query_var( 'panel', $panel ); 35 41 36 if ( 0 !== twentyseventeen_panel_count() || is_customize_preview() ) : // If we have pages to show. 42 $titles[] = get_the_title(); // Put page titles in an array for use in navigation. 43 get_template_part( 'components/page/content', 'front-page-panels' ); 37 44 38 $twentyseventeencounter = 1; 39 40 foreach ( $panels as $panel ) : 41 if ( get_theme_mod( 'panel_' . $panel ) ) : 42 $post = get_post( get_theme_mod( 'panel_' . $panel ) ); 43 setup_postdata( $post ); 44 set_query_var( 'panel', $panel ); 45 46 $titles[] = get_the_title(); // Put page titles in an array for use in navigation. 47 get_template_part( 'components/page/content', 'front-page-panels' ); 48 49 wp_reset_postdata(); 50 else : 51 // The output placeholder anchor. 52 echo '<article class="panel-placeholder panel twentyseventeen-panel twentyseventeen-panel' . esc_attr( $twentyseventeencounter ) . '" id="panel' . esc_attr( $twentyseventeencounter ) . '"><span class="twentyseventeen-panel-title">' . sprintf( __( 'Panel %1$s Placeholder', 'twentyseventeen' ), esc_attr( $twentyseventeencounter ) ) . '</span></article>'; 53 endif; 54 55 $twentyseventeencounter++; 45 wp_reset_postdata(); 56 46 endforeach; 57 47 ?> 58 48 59 <?php endif; // The if ( 0 !== twentyseventeen_panel_count() ) ends here.49 <?php endif; // The if ( ! empty ( $active_panels ) ) ends here. 60 50 ?> 61 51 62 52 </main><!-- #main --> -
wp-content/themes/twentyseventeen/inc/template-functions.php
67 67 add_filter( 'body_class', 'twentyseventeen_body_classes' ); 68 68 69 69 /** 70 * Count our number of active panels. 71 * 72 * Primarily used to see if we have any panels active, duh. 70 * Get an array of active panels 73 71 */ 74 function twentyseventeen_ panel_count() {72 function twentyseventeen_active_panels() { 75 73 $panels = array( '1', '2', '3', '4' ); 76 $ panel_count = 0;74 $active_panels = array(); 77 75 78 foreach ( $panels as $panel ) { 76 foreach ( $panels as $panel ) { 79 77 if ( get_theme_mod( 'panel_' . $panel ) ) { 80 $panel_count++;78 array_push( $active_panels, $panel ); 81 79 } 82 80 } 83 81 84 return $ panel_count;82 return $active_panels; 85 83 } 86 84 87 85 /**