Индивидуальный шаблон страницы WordPress: второй способ создания

Перед тем как рассмотреть создания индивидуального шаблона для категорий и записей в WordPress, хочу рассказать вам о другом способе создания индивидуальных шаблонов для страниц, данный способ менее удобный по сравнению с тем, который я описал в своей предыдущей статье Индивидуальный шаблон страниц в WordPress, так как он заставит вас изменять код файла page.php при каждом добавлении нового индивидуального шаблона – что очень не удобно. Однако, в его основе лежат методы, которые используются в создании индивидуального шаблона для категорий и записей.

Скачать исходники для статьи можно ниже

Данный способ основан на использовании идентификатора (id) или ярлыка (slug).

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

Шаг 1. Скачать файл page.php из текущей темы (/public_html/wp-content/themes/название вашей текущей темы) вашего сайта через программу FileZilla.

Шаг 2. Узнаем идентификатор (id) или ярлык (slug) страницы, на которую хотим поставить индивидуальный шаблон.

Чтобы узнать идентификатор (id) вашей страницы, зайдите в панель управления, в левом меню выберите пункт “Страницы”, подпункт “Все страницы”, далее перейдите в редактирование нужной вам страницы, к которой будем применять шаблон и в адресной строке браузера посмотрите ее id.

Например, на скриншоте видно, что странице присвоен идентификатор 344.

создаем индивидуальный шаблон страницы

Для создания индивидуального шаблона можно также использовать и ярлык (slug) вместо  идентификатор id.

Чтобы узнать  slug (ярлык) вашей страницы зайдите в  панель управления вашим сайтом, нажмите в левом меню на пункт “Страницы” далее подпункт “Все страницы” и для нужной страницы нажимаем на ссылку “Быстрая правка”:

индивидуальный шаблон WordPress

Как видим  для данной странички ярлык (slug) – audio.

Шаг 3. Сохраняем данный файл (page.php) под следующим именем:

Если вы используете id-идентификатор страницы, то индивидуальный шаблон будет называться по принципу page-id.php, то есть – в шаге 2 мы выяснили, что id странички 344, тогда индивидуальный шаблон у нас будет называться: page-344.php.

Если же вы будете используете ярлык (slug) страницы, то индивидуальный шаблон будет называться по принципу page-slug.php, то есть – в шаге 2 мы выяснили, что ярлык (slug) странички audio, тогда индивидуальный шаблон у нас будет называться: page-audio.php.

Шаг 4. Закачиваем page-344.php или page-audio.php в текущую тему вашего сайта (/public_html/wp-content/themes/название вашей текущей темы) с помощью программы FileZilla.

Шаг 5. Изменяем код файла вывода страниц page.php.

Для этого входим в панель управления вашим сайтом в левом меню выбираем пункт “Внешний вид”, далее подпункт “Редактор”, и справа в меню Шаблоны находим шаблон page.php (Шаблон страницы) и изменяем его следующим образом:

1. Для нашего примера, добавляем в самое начала следующий код:

<?php
if(is_page(344)) {
// если страница имеет ID=344
include 'page-344.php';
} else {
?>

То есть, здесь мы используем следующий цикл: если страница имеет идентификатор ID=344, то необходимо отобразить файл page-344.php, иначе – нижеуказанный код (который и есть код изначального файла page.php).

2. А также добавляем в самом конце – код закрывающего тега:

<?php } ?>

Ну например у меня изначальный код шаблона page.php выглядел так: [spoiler title=”Посмотреть код” open=”0″ style=”1″]

<?php get_header(); ?>
<div class="span-24" id="contentwrap">
	<div class="span-16">
		<div id="content">

			<?php if (have_posts()) : while (have_posts()) : the_post(); ?>
			<div class="post" id="post-<?php the_ID(); ?>">
			<h2 class="title"><?php the_title(); ?></h2>
				<div class="entry">
<?php if ( function_exists("has_post_thumbnail") && has_post_thumbnail() ) { the_post_thumbnail(array(300,225), array("class" => "alignleft post_thumbnail")); } ?>
					<?php the_content('<p class="serif">Read the rest of this page &raquo;</p>'); ?>

					<?php wp_link_pages(array('before' => '<p><strong>Pages:</strong> ', 'after' => '</p>', 'next_or_number' => 'number')); ?>

				</div>
			</div>
			<?php endwhile; endif; ?>
		<?php edit_post_link('Edit this entry.', '<p>', '</p>'); ?>
		</div>
	</div>

<?php get_sidebars(); ?>

</div>
<?php get_footer(); ?>
[/spoiler]

Теперь добавляю цикл привязки индивидуального шаблона: [spoiler title=”Посмотреть код” open=”0″ style=”1″]

<?php
if(is_page(344)) {
// если страница имеет ID=344
include 'page-344.php';
} else {
?>
<?php get_header(); ?>
<div class="span-24" id="contentwrap">
	<div class="span-16">
		<div id="content">

			<?php if (have_posts()) : while (have_posts()) : the_post(); ?>
			<div class="post" id="post-<?php the_ID(); ?>">
			<h2 class="title"><?php the_title(); ?></h2>
				<div class="entry">
<?php if ( function_exists("has_post_thumbnail") && has_post_thumbnail() ) { the_post_thumbnail(array(300,225), array("class" => "alignleft post_thumbnail")); } ?>
					<?php the_content('<p class="serif">Read the rest of this page &raquo;</p>'); ?>

					<?php wp_link_pages(array('before' => '<p><strong>Pages:</strong> ', 'after' => '</p>', 'next_or_number' => 'number')); ?>

				</div>
			</div>
			<?php endwhile; endif; ?>
		<?php edit_post_link('Edit this entry.', '<p>', '</p>'); ?>
		</div>
	</div>

<?php get_sidebars(); ?>

</div>
<?php get_footer(); ?>
<?php } ?>
[/spoiler]

Если бы вы использовали  ярлык (slug) (в нашем примере slug=audio) вместо  идентификатор id для создания индивидуального шаблона, то код page.php выглядел бы следующим образом: [spoiler title=”Посмотреть код” open=”0″ style=”1″]

<?php
if(is_page(audio)) {
// если страница имеет slug=audio
include 'page-audio.php';
} else {
?>
<?php get_header(); ?>
<div class="span-24" id="contentwrap">
	<div class="span-16">
		<div id="content">

			<?php if (have_posts()) : while (have_posts()) : the_post(); ?>
			<div class="post" id="post-<?php the_ID(); ?>">
			<h2 class="title"><?php the_title(); ?></h2>
				<div class="entry">
<?php if ( function_exists("has_post_thumbnail") && has_post_thumbnail() ) { the_post_thumbnail(array(300,225), array("class" => "alignleft post_thumbnail")); } ?>
					<?php the_content('<p class="serif">Read the rest of this page &raquo;</p>'); ?>

					<?php wp_link_pages(array('before' => '<p><strong>Pages:</strong> ', 'after' => '</p>', 'next_or_number' => 'number')); ?>

				</div>
			</div>
			<?php endwhile; endif; ?>
		<?php edit_post_link('Edit this entry.', '<p>', '</p>'); ?>
		</div>
	</div>

<?php get_sidebars(); ?>

</div>
<?php get_footer(); ?>
<?php } ?>
[/spoiler]

Шаг 6. Редактирование индивидуального шаблона.

Редактировать индивидуальный шаблон можно с помощью редактора кода NotePad++ (для этого вам обратно придется скачать данный файл из вашей текущей темы на свой компьютер с помощью программы FileZilla) или же можно воспользоваться редактором кода, встроенного в WordPress, для этого:

В панели управления в левом меню выбираем пункт “Внешний вид”, далее подпункт “Редактор”, и теперь справа – в меню Шаблоны находим наш индивидуальный шаблон:

создание индивидуального шаблона для страницы

Открываем его и редактируем.

Для наглядности, если у вас на сайте есть сайдбар (боковая колонка), можете найти в нем следующий код и удалить его:

 <PHP get_sidebar ();?> 

После нажмите на кнопку “Обновить файлы”.

Теперь зайдите на страничку к которой прикреплен индивидуальный шаблон и вы увидите, что на данной страничке сайдбар (боковая колонка) исчезла, на остальных же страничках вашего сайта сайдбар (боковая колонка) присутствует.

Однако, текст статьи на область удаленного нами сайдбара заходить не будет – для этого вам еще нужно настроить стили, но об этом я расскажу в следующей статье.

Вот в принципе и все теперь вы научились создавать индивидуальные шаблоны для страничек еще одним способом.

Введите свой email адрес для того, чтобы подписаться на мой блог:


knopkisoc

Индивидуальный шаблон страницы WordPress: второй способ создания: 2 комментария

  1. Ирина Калинина

    Спасибо! Вы мне очень помогли! Я долго искала в интернете информацию как убрать сайтбар и расширить страницу и нашла у вас. И самое главное, что написано все на понятном, доступном языке. Подписалась на ваш блог!

Добавить комментарий