Создаем шаблон для отдельных записей в блоге

создать шаблон

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

Что для этого нужно сделать, я вам сейчас расскажу. Приготовились, слушаем!

Начнем с небольшой теории по WordPress. В папке с темой вашего сайта (а они располагаются по адресу wp-contetn/themes) лежит файлик под названием single.php, который отвечает за публикацию всех записей блога. Чтобы внести изменения в структуру статьи, нам нужно ее вывести с помощью другого файла, в котором будут учтены все задачи.

Для этого нам нужно в копию файла single.php внести только изменения для конкретной записи, например добавить рекламный баннер или убрать код для вывода ненужных виджетов. Таким образом мы создадим отдельный шаблон для какой-то конкретной записи.

Решить такую задачу можно двумя путями, давайте рассмотрим оба.

Способ 1 – используем плагин Custom Post Template

1) Установим плагин

[wp-pic type=»plugin» slug=»custom-post-template» layout=»large» ]

2) В папке wp-content/themes/«название темы» делаем копию single.php. Эту копию называем в соответствии с название новой темы, например в нашем примере clubwp.php

3) Меняем новый шаблон на свое усмотрение – добавляем, убираем и т.д. Самое главное в новом шаблоне в начале файла вставить такой код

[php]
<?php /* TemplateNamePosts: clubwp */ ?>
[/php]

На рисунке можно увидеть как это будет выглядеть.

создать шаблон1

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

создать шаблон6

Таких шаблонов можно наплодить нужное количество, путем создания новых файлы из single.php. Главное не забывать в тексте шаблона изменять имя в поле «TemplateNamePosts».

Способ 2 – вносим изменения в код functions.php

1) В папке wp-content/themes/«название темы» находим файл functions.php, открываем его и вносим изменения (предварительно сделав резервную копию) в самое начало:

[php]
/*Вычисление ID записи*/
function single($template) {
global $wp_query, $post;
if(file_exists(TEMPLATEPATH . ‘/single-‘ . $post->ID . ‘.php’)) {
return TEMPLATEPATH . ‘/single-‘ . $post->ID . ‘.php’;
}
if(file_exists(TEMPLATEPATH . ‘/single.php’)) {
return TEMPLATEPATH . ‘/single.php’;
}
return $template;
}
add_filter(‘single_template’, ‘single’);
[/php]

2) При создании новой записи в WPмы можем узнать ее ID в адресной строке браузера – смотрим рисунок ниже.

создать шаблон3​Для нашего случая это 1455.

3) Скопируем файла single.php с новым названием single-1455.php и отредактируем его соответственно наших пожеланий.

4) Теперь запись можно опубликовать.

Из-за изменений в коде файла functions статья будет выведена шаблоном single-1455.php

Краткие выводы

Как определить какой из способов лучше? Если вам нужен новый шаблон только для 2-3 записей, то думаю можно применить заплатку из второго способа. А если число таких записей будет расти, то тут думаю логичнее будет использовать плагин, для которого написав 2-3 шаблона вы не будете создавать 100-200 файлов с каждым новым ID записи.

Создание шаблона страницы с помощью плагина

Все очень похоже на создание шаблона для записи. В той же папке с темой, находим page.php и создаем копию с новым названием, например clubwp_page.php.

Вносимм изменения в файл шаблона, не забывая добавить в начало код:

[php]

<?php /* Template Name: clubwp_page */ ?> [/php]

После этого страницу можно публиковать, выбрав при этом справа на панели новый шаблон. Смотрим рисунок.

создать шаблон5
Вот такие маленькие, но очень полезные мелочи мы сегодня обсудили. Надеюсь это облегчит ваши трудовые веб-будни.
Комментарии к “Создаем шаблон для отдельных записей в блоге”
  1. Stian 06.10.2016
  2. Garri 06.10.2016
  3. Diana88 06.10.2016

Напишите ответ

Screenshot.png
Общаясь и проявляя активность в Клубе по WordPress

можно зарабатывать монеты и получить доступ в закрытый раздел