ВВЕДЕНИЕ

Не все файлы шаблонов генерируют весь контент, который будет отображаться в браузере. Некоторые файлы шаблонов подтягиваются другими файлами шаблонов, такими как 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”>
  1. После вступительного комментария создается заголовок
  2. Тег шаблона wp_head() извлекает все стили и сценарии, которые появляются в заголовке, а не в нижнем колонтитуле, поставленном в очередь в файле functions.php.
  3. Тело открыто и присутствует смесь HTML и PHP. некоторые условные теги в div брендинга сайта, которые немного настраивают то, что отображается в зависимости от страницы, на которой находится пользователь. Затем включается навигация по сайту.
  4. Открывается основной 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&rsquo;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”&gt;
<?php if ( is_active_sidebar( ‘sidebar-1’ ) ) : >
<div id=”widget-area” class=”widget-area” role=”complementary”&gt;
<?php dynamic_sidebar( ‘sidebar-1’ ); >
</div&gt;
<! — .widget-area — &gt;
<?php endif; >
</div&gt;
<! — .secondary — &gt;
<?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-## →