Создание шаблона страницы для Вордпресс

Совсем краткая заметка-памятка на тему: «Как сделать шаблон страницы для ВП?». В самом деле, она скорее для меня самого, чтобы при необходимости не пришлось искать инструкцию лишний раз.

Существует несколько удобных способов создания шаблона страницы на Вордпресс, но, пожалуй, наиболее часто используемый — это создание файла на сервере и подключение его в админке.

Собственно, больших сложностей тут нет, т.к. процесс занимает два простых:

  1. Создание файла
  2. Подключение шаблона через админку CMS

Всё достаточно примитивно.

В рамках первого шага мы отправляемся по ftp/sftp в папку шаблона сайта и там, в папке page-templates (к примеру, так как в разных шаблонах по разному) создаём файл с понятным для нас названием. Например, no-sidebar.php.

Внутри данного файла мы задаем «директиву», которая позволит WP понять, что перед ним шаблон страницы и его можно подключить из админки. Выглядит это примерно так:

<?php
/*
  Template Name: Fullwidth Page Template
*/
?>

В данной строке мы задаем название нашему шаблону страницы, который будет виден в админке при подключении. После этой «директивы» идет уже сам код шаблона страницы. В рамках no-sidebar.php это выглядит примерно так:

<?php
/**
 * Template Name: Fullwidth Page Template
 */

get_header(); ?>

<?php if ( have_posts() ) : ?>
		
	<?php if ( get_theme_mod('xmag_page_featured_image') && get_theme_mod('xmag_page_featured_image_size') == 'fullwidth' && has_post_thumbnail() ) : ?>
	
		<?php global $post; ?>

		<div class="featured-image">
			<header class="entry-header overlay">
				<?php the_title( '<h1 class="entry-title">', '</h1>' ); ?>
			</header>
			<div class="cover-bg" style="background-image:url(<?php the_post_thumbnail_url('xmag-thumb'); ?>)"></div>
		</div><!-- .featured-image -->
		
	<?php endif; ?>
	
	<div id="primary" class="content-area">
		<main id="main" class="site-main" role="main">
			
			<?php while ( have_posts() ) : the_post(); ?>

				<?php get_template_part( 'template-parts/content', 'page' ); ?>

				<?php
					// If comments are open or we have at least one comment, load up the comment template
					if ( comments_open() || '0' != get_comments_number() ) :
						comments_template();
					endif;
				?>

			<?php endwhile; // end of the loop. ?>

		</main><!-- #main -->
	</div><!-- #primary -->

<?php endif; ?>

<?php get_footer(); ?>

Но это, в самом деле, к тематике заметки имеет довольно опосредованное отношение.

После вышеизложенных манипуляций, при создании страницы мы можем увидеть такую картину:

«Шаблон на всю ширину» и есть в данном случае наш Fullwidth Page Template.

Как и было сказано выше, всё очень просто в данном случае.