WordPress/wp-content/themes/twentyseventeen/front-page.php

60 lines
1.6 KiB
PHP
Raw Normal View History

<?php
/**
* The front page template file
*
* If the user has selected a static page for their homepage, this is what will
* appear.
* Learn more: https://codex.wordpress.org/Template_Hierarchy
*
* @package WordPress
* @subpackage Twenty_Seventeen
* @since 1.0
* @version 1.0
*/
get_header(); ?>
<div id="primary" class="content-area">
<main id="main" class="site-main" role="main">
<?php
// Show the selected frontpage content.
if ( have_posts() ) :
while ( have_posts() ) :
the_post();
get_template_part( 'template-parts/page/content', 'front-page' );
endwhile;
else : // I'm not sure it's possible to have no posts when this page is shown, but WTH.
get_template_part( 'template-parts/post/content', 'none' );
endif;
?>
<?php
// Get each of our panels and show the post data.
if ( 0 !== twentyseventeen_panel_count() || is_customize_preview() ) : // If we have pages to show.
Twenty Seventeen: Improve user and developer experience with the customizer integration * Rename customizer JS files to customize-preview.js and customize-controls.js to align with the core file naming and make it clearer where each file runs. * Only show the colorscheme_hue control when there's a custom color scheme. * Update preview JS handling for revised front page section handling, see below. * Remove all references to "Theme Customizer" in code comments. It hasn't been called that since before 4.0. * Clarify the purpose of the JS files by updated the code comments in the file headers. * Improve code readability. * Make the arbitrary number of front page sections filterable, for UI registration and output. * Rename twentyseventeen_sanitize_layout to twentyseventeen_sanitize_page_layout to be clearer about what it sanitizes in case child themes or plugins consider reusing it. * Rename page_options setting/control to page_layout as that's more reflective of what that option does; and again, helps for potential extensions. * Make the page layout option contextual to pages and the sidebar being inactive, as the option only applies when there is no sidebar (per its description). * Condense options into a single section. * Add selective refresh for front page sections. * Locate active_callback functions within customizer.php so that they're easier to find when editing customizer registrations, similarly to sanitize callbacks. * Adjust the styling for placeholders for panels that aren't active. * Ensure that the new visible edit shortcuts don't have any issues. Props celloexpressions. Fixes #38426. Built from https://develop.svn.wordpress.org/trunk@38986 git-svn-id: http://core.svn.wordpress.org/trunk@38929 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-10-27 18:09:40 -04:00
/**
* Filter number of front page sections in Twenty Seventeen.
*
* @since Twenty Seventeen 1.0
*
* @param int $num_sections Number of front page sections.
Twenty Seventeen: Improve user and developer experience with the customizer integration * Rename customizer JS files to customize-preview.js and customize-controls.js to align with the core file naming and make it clearer where each file runs. * Only show the colorscheme_hue control when there's a custom color scheme. * Update preview JS handling for revised front page section handling, see below. * Remove all references to "Theme Customizer" in code comments. It hasn't been called that since before 4.0. * Clarify the purpose of the JS files by updated the code comments in the file headers. * Improve code readability. * Make the arbitrary number of front page sections filterable, for UI registration and output. * Rename twentyseventeen_sanitize_layout to twentyseventeen_sanitize_page_layout to be clearer about what it sanitizes in case child themes or plugins consider reusing it. * Rename page_options setting/control to page_layout as that's more reflective of what that option does; and again, helps for potential extensions. * Make the page layout option contextual to pages and the sidebar being inactive, as the option only applies when there is no sidebar (per its description). * Condense options into a single section. * Add selective refresh for front page sections. * Locate active_callback functions within customizer.php so that they're easier to find when editing customizer registrations, similarly to sanitize callbacks. * Adjust the styling for placeholders for panels that aren't active. * Ensure that the new visible edit shortcuts don't have any issues. Props celloexpressions. Fixes #38426. Built from https://develop.svn.wordpress.org/trunk@38986 git-svn-id: http://core.svn.wordpress.org/trunk@38929 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-10-27 18:09:40 -04:00
*/
$num_sections = apply_filters( 'twentyseventeen_front_page_sections', 4 );
global $twentyseventeencounter;
// Create a setting and control for each of the sections available in the theme.
for ( $i = 1; $i < ( 1 + $num_sections ); $i++ ) {
$twentyseventeencounter = $i;
twentyseventeen_front_page_section( null, $i );
}
endif; // The if ( 0 !== twentyseventeen_panel_count() ) ends here.
?>
</main><!-- #main -->
</div><!-- #primary -->
<?php
get_footer();