ВВЕДЕНИЕ
Не все файлы шаблонов генерируют весь контент, который будет отображаться в браузере. Некоторые файлы шаблонов подтягиваются другими файлами шаблонов, такими как comments.php, header.php, footer.php, sidebar. php и content-{$slug}.php.
ЗАГОЛОВОК.PHP
Содержит все рендеры браузера кода для заголовка. Это частичный файл шаблона, потому что, если другой файл шаблона не вызовет get_header(), браузер не отобразит содержимое этого файла. Header.php также может обрабатывать любые варианты заголовка, используя условные теги.
Пример файла header.php в теме двадцать пятнадцать:
<!DOCTYPE html> <html <?php language_attributes(); ?> class=”no-js”> <head> <meta charset=”<?php bloginfo( ‘charset’ ); ?>”> <meta name=”viewport” content=”width=device-width”> <link rel=”profile” href=”http://gmpg.org/xfn/11"> <link rel=”pingback” href=”<?php bloginfo( ‘pingback_url’ ); ?>”> <! — [if lt IE 9]> <script src=”<?php echo esc_url( get_template_directory_uri() ); ?>/js/html5.js”></script> <![endif] → <?php wp_head(); ?> </head> <body <?php body_class(); ?>> <div id=”page” class=”hfeed site”> <a class=”skip-link screen-reader-text” href=”#content”><?php _e( ‘Skip to content’, ‘twentyfifteen’ ); ?></a> <div id=”sidebar” class=”sidebar”> <header id=”masthead” class=”site-header” role=”banner”> <div class=”site-branding”> <?php if ( is_front_page() && is_home() ) : ?> <h1 class=”site-title”><a href=”<?php echo esc_url( home_url( ‘/’ ) ); ?>” rel=”home”><?php bloginfo( ‘name’ ); ?></a></h1> <?php else : ?> <a href=”<?php echo esc_url( home_url( ‘/’ ) ); ?>” rel=”home”><?php bloginfo( ‘name’ ); ?></a> <?php endif; $description = get_bloginfo( ‘description’, ‘display’ ); if ( $description || is_customize_preview() ) : ?> <?php echo $description; ?> <?php endif; ?> <button class=”secondary-toggle”><?php _e( ‘Menu and widgets’, ‘twentyfifteen’ ); ?></button> </div> <! — .site-branding → </header> <! — .site-header → <?php get_sidebar(); ?> </div> <! — .sidebar → <div id=”content” class=”site-content”>
- После вступительного комментария создается заголовок
- Тег шаблона wp_head() извлекает все стили и сценарии, которые появляются в заголовке, а не в нижнем колонтитуле, поставленном в очередь в файле functions.php.
- Тело открыто и присутствует смесь HTML и PHP. некоторые условные теги в div брендинга сайта, которые немного настраивают то, что отображается в зависимости от страницы, на которой находится пользователь. Затем включается навигация по сайту.
- Открывается основной div site-content, который скорее всего будет закрыт в файле footer.php.
Body_class(), найденный в открывающем теге body, — очень удобный тег, который значительно упрощает стилизацию вашей темы. Он дает классы вашего тела в зависимости от файла шаблона и других используемых настроек.
ФУТЕР.PHP
Код в файле footer.php не будет отображаться, если другой файл шаблона не загрузит footer.php с помощью get_footer(). Как и в случае с верхними колонтитулами, вы можете создавать вариации нижних колонтитулов, используя условные теги.
Пример файла footer.php в теме двадцать пятнадцать:
<footer id=”colophon” class=”site-footer” role=”contentinfo”> <div class=”site-info”> <?php /** * Fires before the Twenty Fifteen footer text for footer customization. * * @since Twenty Fifteen 1.0 */ do_action( ‘twentyfifteen_credits’ ); ?> <a href=”<?php echo esc_url( __( ‘https://wordpress.org/', ‘twentyfifteen’ ) ); ?>”><?php printf( __( ‘Proudly powered by %s’, ‘twentyfifteen’ ), ‘WordPress’ ); ?></a> </div> <! — .site-info → </footer> <! — .site-footer → </div> <! — .site → <?php wp_footer(); ?> </body> </html>
404.PHP
Если пользователь пытается посетить несуществующую страницу вашего веб-сайта, ваш сайт перенаправляется на вашу страницу index.php, если только вы не создали шаблон 404.php. Лучше всего иметь какое-то сообщение о том, что страница отсутствует или больше недоступна. Создание этого шаблона помогает поддерживать единообразие визуальных аспектов вашей темы и предоставляет конечным пользователям полезную информацию.
Пример файла 404.php в теме двадцать пятнадцать:
get_header(); ?> <div id=”primary” class=”content-area”> <main id=”main” class=”site-main” role=”main”> <section class=”error-404 not-found”> <header class=”page-header”> <h1 class=”page-title”><?php _e( ‘Oops! That page can’t be found.’, ‘twentyfifteen’ ); ?></h1> </header> <! — .page-header → <div class=”page-content”> <?php _e( ‘It looks like nothing was found at this location. Maybe try a search?’, ‘twentyfifteen’ ); ?> <?php get_search_form(); ?> </div> <! — .page-content → </section> <! — .error-404 → </main><! — .site-main → </div> <! — .content-area → <?php get_footer(); ?>
КОММЕНТАРИИ.PHP
Обрабатывает комментарии. Это частичный шаблон, который вставляется в другие файлы шаблонов для отображения комментариев, оставляемых пользователями на странице или в публикации. Комментарии отображаются на нескольких разных страницах и в сообщениях, поэтому имеет смысл иметь один файл, который можно будет использовать при необходимости.
Боковая панель.PHP
Большинство тем используют боковые панели для отображения виджетов. Чтобы боковая панель работала в теме, ее необходимо зарегистрировать, а затем создать файл шаблона для боковой панели. Файлы боковой панели часто содержат условные операторы и функцию is_active_sidebar( ‘sidebar-name’ ) в них, чтобы убедиться, что виджет используется на боковой панели, чтобы пустой HTML-код не добавлялся на страницу без необходимости.
Пример sidebar.php в теме двадцать пятнадцать:
if ( has_nav_menu( ‘primary’ ) || has_nav_menu( ‘social’ ) || is_active_sidebar( ‘sidebar-1’ ) ) : > <div id=”secondary” class=”secondary”> <?php if ( is_active_sidebar( ‘sidebar-1’ ) ) : > <div id=”widget-area” class=”widget-area” role=”complementary”> <?php dynamic_sidebar( ‘sidebar-1’ ); > </div> <! — .widget-area — > <?php endif; > </div> <! — .secondary — > <?php endif; >
Внизу боковая панель втягивается с помощью ‹?php dynamic_sidebar( ‘sidebar-1’ ); ›. На этом этапе любые виджеты, помещенные в эту боковую панель, будут отображаться на странице, которая использует это вытягивание в этом шаблоне.
СОДЕРЖАНИЕ-{$SLUG}.PHP
Content-{$slug}.php: общие примеры: content-page.php, content-post.php, content -portfolio.php, content-none.php. Это не имена файлов, которые WordPress распознает и интерпретирует определенным образом, а скорее общий подход к отображению определенных типов контента.
Тег шаблона get_template_part() извлекает файл content-{$slug}.php. Чтобы получить файл content-page.php, вы должны вызвать get_template_part( ‘content’, ‘page’ );
Пример файла content-{$slug}.php в двадцать пятнадцать:
article id=”post-<?php the_ID(); ?>” <?php post_class(); ?>> <?php // Post thumbnail. twentyfifteen_post_thumbnail(); ?> <header class=”entry-header”> <?php the_title( ‘ <h1 class=”entry-title”>’, ‘</h1> ‘ ); ?> </header> <! — .entry-header → <div class=”entry-content”> <?php the_content(); ?> <?php wp_link_pages( array( ‘before’ => ‘ <div class=”page-links”><span class=”page-links-title”>’ . __( ‘Pages:’, ‘twentyfifteen’ ) . ‘</span>’, ‘after’ => ‘</div> ‘, ‘link_before’ => ‘<span>’, ‘link_after’ => ‘</span>’, ‘pagelink’ => ‘<span class=”screen-reader-text”>’ . __( ‘Page’, ‘twentyfifteen’ ) . ‘ </span>%’, ‘separator’ => ‘<span class=”screen-reader-text”>, </span>’, ) ); ?> </div> <! — .entry-content → <?php edit_post_link( __( ‘Edit’, ‘twentyfifteen’ ), ‘ <footer class=”entry-footer”><span class=”edit-link”>’, ‘</span></footer> <! — .entry-footer →’ ); ?> </article> <! — #post-## →