Структура шаблонов темы WordPress, их иерархия и порядок работы движка с файлами страниц

Здравствуйте, уважаемые читатели! Сегодня я решил затронуть очень важный вопрос алгоритма действий WP при взаимодействии с шаблонами. Это актуально, поскольку понимание нюансов работы движка с файлами, отвечающими за составные части темы WordPress, позволит быстро и корректно производить необходимые изменения.

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

Wordpress и файлы шаблонов страниц

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

Как установить тему и редактировать шаблоны WordPress

Если вы перейдете по ссылке, данной в самом начале настоящей публикации, то узнаете, как активировать имеющиеся по умолчанию темы в админке WordPress, а также каким образом их загружать со сторонних ресурсов и устанавливать через ту же административную панель.

Однако, если вы желаете постигнуть всю суть работы с сайтом и получить дополнительные знания, то стоит попробовать загрузить и установить для начала тему с помощью какого-нибудь ФТП клиента (я, например, использую Файлзиллу).

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

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

  • Распакуйте архив, кликнув по нему правой кнопкой мыши и выбрав соответствующую операцию;
  • Получив доступ по FTP к файлам вашего сайта, загрузите папку, полученную после разархивирования, на хостинг в директорию (папку) themes

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

Там с правой стороны дан список всех шаблонов, входящих в состав данной темы. В дальнейшем при необходимости вы можете пользоваться этим редактором для изменения вида страниц вашего сайта. Но! Я изначально не советую применять этот инструмент, особенно новичкам, потому что в случае какой-нибудь ошибки вы с легкостью «положите» свой сайт, после чего на поиски причины можете потратить кучу времени и нервов.

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

А вот какой интерфейс для редактирования предлагает Нотпад плюс плюс:

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

И еще. Редактирование шаблонов WordPress я советую осуществлять на локальном сервере, то бишь на своем компьютере (здесь Денвер, а еще лучше, Open Server вам в помощь). Сделали все нужные изменения, протестировали, а затем уже заливаете файлы на хостинг. Эксперименты с «живым» сайтом могут дорого стоить.

Файловая структура шаблонов страниц

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

ваш_сайт/wp-content/themes/название_вашей_темы

Для моего блога в папку с одной из установленных тем этот путь выглядит так:

goldbusinessnet.com/wp-content/themes/country

При просмотре в окне редактора Нотпад++ папка со всеми файлами вашей темы WordPress будет выглядеть следующим образом:

В структуру входят файлы с расширением .php, среди которых можно выделить именно шаблоны, призванные отображать целые страницы, которые являются основными, то есть присутствуют практически в любой теме, такие как главная (index.php), страница записей (single.php), статические страницы (page.php).

Однако существуют шаблоны, которые отвечают за вывод специально созданной вебстраницы. Например, на моем блоге одно время существовала форма обратной связи на странице «Контакты», с целью ее установки был создан файл mail.php.

Кроме того, есть шаблоны, которые нужны для конструирования отдельных частей, отображаемых на всех страницах сайта. Это шапка, или хидер (header.php), левая и/или правая колонка, иначе сайдбар (sidebar.php), подвал, или футер (footer.php). Схематически такую конструкцию с областями страницы можно представить так:

Как видно из скриншота, если шапка, сайдбар, подвал на любой странице будут выглядеть одинаково, то контент будет зависеть от типа вебстраницы, который и будет определяться соответствующим файлом с расширением .php.

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

Иерархия шаблонов WordPress и последовательность вывода страниц

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

Я же попробую кратко пробежаться по пунктам и объяснить, в какой последовательности выводит ту или иную вебстраницу WordPress, учитывая ее место в иерархической шкале приоритетов.

Дело в том, что в каждой теме изначально существует свой набор файлов, некоторые из распространенных могут отсутствовать. Например, может не быть шаблона category.php, который отвечает за вывод рубрик (категорий). В этом случае WordPress взаимодействует с файлом index.php и оформление страницы с категориями будет абсолютно тождественным с главной.

Начнем с домашней вебстраницы. Приоритет здесь отдан Home. То есть последовательность, с которой Вордпресс будет взаимодействовать с шаблоном, следующая: сначала происходит запрос Home, если его нет, то WordPress обращается к основному шаблону Index:

  1. Home (главный приоритет);
  2. Index.

Если конструируется отдельная статья блога, шаблоном которой по умолчанию является Single, то последовательность обращения будет такой:

  1. Single-{post_type}. Скажем, если в конкретном случае тип записи product, то WP будет обращаться к шаблону single-product.php;
  2. Single;
  3. Index.

Для статической страницы Page иерархия следующая:

  1. Custom template (пользовательский шаблон, который создан специально для конкретной вебстраницы);
  2. Page-{slug}. Здесь slug — короткое название (псевдоним) страницы. Например, если в составе темы присутствует файл с названием page-recent-news, то WP обратиться к нему;
  3. Page-{id}. Если вебстраница отождествляется по конкретному идентификатору (id) 12, то именно она будет следующей по иерархии, ежели отсутствуют указанные выше;
  4. Page;
  5. Index.

Чтобы вывести страницу рубрик, Вордпресс предпримет поиск специального файла, затем будет искать по id. Если таких шаблонов не существует, то преимущество получит общий шаблон Category, далее по убывающей Archive и Index:

  1. Category-{slug};
  2. Category-{id};
  3. Category;
  4. Archive (архив);
  5. Index.

Аналогичная картина вырисовывается и для тега (метки). В первую очередь специальный шаблон, далее на основе id, после чего Tag, Archive и Index:

  1. Tag-{slug};
  2. Tag-{id};
  3. Tag;
  4. Archive;
  5. Index.

Возможно наличие странички автора статей. Тогда будет осуществлен запрос к файлу шаблона Author, после чего по убывающей — к Archive и Index:

  1. Author;
  2. Archive;
  3. Index.

Продолжаем, осталось немного. Существует возможность наличия страницы временного архива Date. В этом случае WP после неудачи будет искать Archive, после него Index:

  1. Date;
  2. Archive;
  3. Index.

На подавляющем большинстве ресурсов используется страница поиска, которая определяется шаблоном Search. В случае его отсутствия — файл основного шаблона Index:

  1. Search;
  2. Index.

Далее, страница ошибки 404. Если файла 404.php не окажется, то взаимодействие произойдет с шаблоном Index:

  1. 404;
  2. Index.

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

  1. Image, video, audio;
  2. Application;
  3. Attachment;
  4. Index.

На сегодня это все. Данный пост может стать отправной точкой для понимания принципа работы Вордпресс и основой для последующих статей на эту тему.

Поделиться с друзьями
Игорь Горнов

Создатель и администратор сайта Goldbusinessnet.com. Участник нескольких успешных проектов и автор более 1000 статей о работе в интернете, создании сайтов, полезных программах и сервисах.

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

Нажимая на кнопку "Отправить комментарий", я даю согласие на обработку персональных данных и принимаю политику конфиденциальности.

  1. pbtf@bk.ru

    А к URL как-то привязаны приоритеты в выборе отображаемых страниц и шаблонов?
    Если да, дополните статью примерами пожалуйста, а то как в искуственном интеллекте «если» «то» «id» и не понятно как меняется URL страницы в зависимости от имеющихся модулей и расположения её [страницы] в разделах сайта…

    Ответить
  2. Никита

    Подскажите пожалуйста как в рубриках уменьшить размер добавленных статей, убрать картинки? Как сделать короткую версию со словом «далее». Я так понял это называется анонсами, вот этот анонс является полностью статьёй и никак не могу найти информацию для 4.7. Везде старая информация, и то что описывается там, нет в коде страниц.

    Ответить
    1. Игорь Горнов автор

      Никита, возможно, эта статья Вам поможет.

      Ответить
  3. Александр

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

    Ответить
    1. Игорь Горнов автор

      Совершенно верно, Александр, это очень дальновидно. Впрочем, в статье я на это обращал внимание.

      Ответить
  4. Ната

    Ну очень актуальная тема. Спасибо как раз разбираюсь со вставкой блоков рекламы нашла у вас. Спасибо понятно. Теперь осталось только все попробовать сделать у себя на сайте.

    Ответить
  5. Роман

    Здравствуйте! НЕ могли бы вы поделиться секретом о том, как вы сделали вывод записей в рубрике правильным, а не идентичным главной странице. То есть в моей теме тоже нет файла category.php и wordpress также взаимодействует с файлом index.php по видимому для отображения страниц категорий (так как при открытие какой-либо категории открывается страница идентичная главной).

    Ответить
    1. Игорь Горнов автор

      С помощью функции the_excerpt, почитайте здесь о настройке wordpress категорий.

      Ответить
  6. Сергей

    Здравствуйте! У меня вопрос: я поставил сайт на вордпресс, на главной новости показывает правильно, полностью, а когда переходишь по категориям, новость показывается не полностью бес картинки и всего несколько строчек, но когда переходишь из категорий в новость всё показывает правильно,как настроить категории что бы короткие новости высвечивались с картинками?

    Ответить
    1. Игорь Горнов автор

      Сергей, скорее всего в состав Вашей темы WordPress входит файл category.php, который отвечает за вывод категорий. Если этого файла (шаблона) нет, то за отображение страниц с рубриками может отвечать archive.php. Открываете этот файл с помощью редактора notepad++ и посмотрите, есть ли там одна из следующих строчек (или подобных им):

      <?php the_content('Читать далее'); ?>

      или

      <?php the_excerpt(); ?>

      В зависимости от Вашего ответа дам рекомендации. Если будет тяжело со всем этим разобраться, можете сделать скриншот полного файла category.php (либо, если он отсутствует, archive.php), также на всякий случай добавьте index.php. Пришлите мне на email, адрес на странице Контакты. Так даже будет быстрее.

      Ответить
  7. happyweblife

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

    Ответить
  8. Людмила Вялкова

    Спасибо. Думаю, что информация мне в будущем пригодится.

    Ответить
    1. Игорь Горнов автор

      Людмила, спасибо за комментарий. Обязательно пригодится, если уже сейчас она вызвала у Вас интерес.

      Ответить
  9. Елена

    Для меня эта тема на данный момент актуальна, поэтому для себя нашла интересную информацию и непременно ей воспользусь.

    Ответить
    1. Игорь Горнов автор

      Спасибо за Ваш интерес, Елена.

      Ответить
    2. Игорь Горнов автор

      Я очень рад, Елена, что Вы нашли полезную для Вас информацию.

      Ответить