Перед тем как рассмотреть создания индивидуального шаблона для категорий и записей в 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 (ярлык) вашей страницы зайдите в панель управления вашим сайтом, нажмите в левом меню на пункт “Страницы” далее подпункт “Все страницы” и для нужной страницы нажимаем на ссылку “Быстрая правка”:
Как видим для данной странички ярлык (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 »</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 »</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 »</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 ();?>
После нажмите на кнопку “Обновить файлы”.
Теперь зайдите на страничку к которой прикреплен индивидуальный шаблон и вы увидите, что на данной страничке сайдбар (боковая колонка) исчезла, на остальных же страничках вашего сайта сайдбар (боковая колонка) присутствует.
Однако, текст статьи на область удаленного нами сайдбара заходить не будет – для этого вам еще нужно настроить стили, но об этом я расскажу в следующей статье.
Вот в принципе и все теперь вы научились создавать индивидуальные шаблоны для страничек еще одним способом.
Спасибо! Вы мне очень помогли! Я долго искала в интернете информацию как убрать сайтбар и расширить страницу и нашла у вас. И самое главное, что написано все на понятном, доступном языке. Подписалась на ваш блог!
Не получается поменять внешний вид страницы. Помогите пожалуйста.