logo

Коллекция Wordpress

шаблоны и плагины wordpress: установка wordpress, настройка wordpress, использование wordpress, авторский перевод на русский язык шаблонов и плагинов Wordpress

Это статья 12 из 16 в серии статей Изучаем файлы шаблона

Несколько дней назад я написал подробную инструкцию – как создать варианты подключения Сайдбаров при просмотре разных категорий (рубрик).

Сегодня хочу рассказать – как можно сделать разные страницы при просмотре отдельной записи.

Напомню одним, для других – расскажу кто не знает:

Шаблон WordPress состоит из списка файлов, в отличие от обычного сайта, написанного на HTML.

Основными файлами шаблона принято считать:

  • header.php – файл заголовка.
  • index.php – основной цикл вывода ленты записей на главной странице (в 95% случаев, иногда в шаблоне главной страницей является статичная страница – шаблон).
  • sidebar.php – боковая колонка (одна, две или несколько).
  • footer.php – подвал шаблона.

Эти файлы формируют главную страницу.

Для вывода архивных записей чаще всего служит файл arhive.php. Он вызывается тогда, когда посетитель выбирает записи из одной рубрики, или записи за определенный месяц, или выбирает нужную ему Метку в Облаке тегов. Еще, как вариант, если несколько авторов, с помощью этого файла можно выбрать все записи одного автора.

Когда посетитель хочет прочитать один пост (одну запись), если она у вас выводится анонсом на главной или в архиве – тогда вступает в работу файл по имени single.php.

Каждый из файлов – header.php, sidebar.php, footer.php – подключаются в файлах index.php, archive.php, single.php – с помощью фуцнкции GET. Выглядит это так: в верхней части файла single.php вы почти всегда можете найти вот такой код:

<?php get_header(); ?>

В нижней – такой:

<?php get_sidebar(); ?>
<?php get_footer(); ?>

Понятно, что слово header – это подключение Заголовка, sidebar  — Сайдбара, footer – Подвала.

Иногда бывает немного по-другому, например, Сайдбар может подключаться в верхней части файла.

Теперь давайте подумаем вот над какой задачей:

Допустим, у вас несколько рубрик, при просмотре полной записи каждой рубрики открывается один и тот же файл single, в котором – одни и те же: Заголовок, Сайдбар, Подвал. А как сделать по-другому – например, при просмотре записей из Рубрики 1 будет открываться не тот Сайдбар, который на Главной, а другой? Или – вы хотите внедрить в код файла single.php разные коды Баннеров? В одном случае – контекстную от Google AdSense, в другом – баннер от Блогуна или Сапы?

Как сделать разные Сайдбары – я рассказывал в прошлой статье, которая называется Как сделать наш шаблон WordPress интереснее, поэтому повторяться не буду.

А что касается вариантов файла single.php, то нам поможет в этом плагин под названием — custom-post-template.

Переводить его не надо – там нечего настраивать. Работает он очень просто. Но сначала, перед его активацией, вам надо сделать один простой шаг:

Скопируйте файл single.php и сохраните его под другим именем, например – single-alt1.php. Затем откройте его в правильном редакторе (с сохранением без сигнатуры BOM!) и добавьте в самом начале файла такой код:

<?php
/*
Template Name Posts: Post News
*/
?>

В переводе звучит как – Шаблон записи. Имя можете написать свое, в моем варианте – Записи в рубрике Новости.

Теперь сохраните файл, зайдите в панель плагинов и активируйте плагин. Перейдите в Записи, Редактирование. Справа внизу, под Рубриками и Метками, у вас появится вот такая секция:

03

В открывающемся списке видно имя шаблона файла single.php. Пока там один вариант шаблона. Если вам надо сделать их несколько – делайте смело, называйте файлы single-alt2.php, single-alt3.php и так далее. В каждом – пишите свое уникальное имя, например, по именам Рубрик. И у вас для каждой отдельной записи той или иной Рубрики будут свои шаблоны отдельной записи.

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

https://wordpress.org/extend/plugins/custom-post-template/ (скопируйте ссылку и вставьте ее в адресную строку браузера и нажмите Enter)

Ну, а как подключить разные Сайдбары для каждой отдельной записи – я писал в прошлой статье. А вот как сделать разные Заголовки и Подвалы – подумайте. Кто не додумается – ждите, расскажу в одной из ближайших статей в своей рубрике – Шпаргалки.

Всем успехов в ваших планах по модернизации вашего шаблона.

Хотите следить за новыми публикациями на моем сайте – .

https://slim-motivator.ru — как похудеть за неделю? Вообще-то мне с трудом верится, но мне и не надо :) А кому надо — стоит хотя бы почитать.

Навигация по серии статей

Серия статей — изучаем файлы шаблона — в одном PDF файлеКак отлючить HTML теги в комментариях


Понравилась статья? Поделись с друзьями!


Что еще читают:

Внимание!

Прежде, чем задавать свой вопрос - пожалуйста, прочитайте F.A.Q.

10 коммент. пока.

  1. василий:

    Залез в файл single.php потом после некоторых монипуляций (после которых случилось вот это https://electrogazoswarka.ru/?p=698
    все в низ сползло,а вот статические стр на месте.
    Как можно востановить?что я нетак сделал?

    • Олег:

      Вы что, прямо на рабочем сайте экспериментируете? Жаль, что вы невнимательно читаете мою серию статей. В самом начале я предупреждал — не надо заниматься изменениями на рабочем сайте. Для этого хотя бы надо делать копию родного файла.
      Что теперь делать? Не знаю, я не знаю, что вы меняли. Попробуйте перезалить этот файл, если у вас есть копия на компьютере, или там, где вы скачали тему.

      • василий:

        Да в том то и дело что все читал я,да думаю дай кнопку гогл+ поставлю ,блин отказы уже 50%

  2. Антон:

    Помогите кто нить сделать sidebar.php в single.php Вставляю так он у меня или в низу или вверху, ни как ни с боку. Помогите оч прошу!!! Вот сайт antorun.ru

  3. [...] подключить разные сайдбары wp [...]

  4. Олег:
    if ( in_category('foto') ) {	include 'single-foto.php';
    	
    } elseif ( in_category('zabudovniki') ) 			{	include 'single-zabudovniki.php';	
    
    } else 												{	include 'single-all.php';
    }
    
    • admin:

      Можно и так, только по-моему, надо писать не in_ , а is_
      Использование плагина — чаще всего удобно для начинающих, кто не знаком с кодом и может поставить (добавить) его неправильно, поэтому я чаще пишу варианты решения с плагинами, когда есть альтернатива — даю оба варианта, но не всегда.
      Спасибо, что внесли второй вариант — читателям наверняка это понравится.

    • Спасибо. Ведь делал примерно тоже самое для сайдбаров. :)
      А про посты в конкретной рубрике в голову не пришло. Думал есть какой-то стандартный способ. :)

  5. Олег:

    ошибся ссылкой… Вообщем делаем файлики single-mail.php а в файлике single.php вместо самого цикла вставляем код

    вот и всё…

  6. Олег:

    Немного неудобно… получаеться надо вручную выставлять при публикации каждой записи тип шаблона… Можно сделать подругому… Подробно о варианте написано тут: https://forum.maxsite.org/viewtopic.php?id=9553 я поднимал этот вопрос давным давно…

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


Если вы хотите добавить код HTML, PHP или CSS, воспользуйтесь коротким кодом: [php]здесь код[/php]





Искать на сайте

icon
Подняться наверхПодняться наверх