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

Первое, что нам нужно обозначить, это следующее: без index.php и style.css ваша тема - уже не рабочая тема WordPress… так что если все, что у вас есть – это эти два файла, то каждая страница, которую вы попытаетесь загрузить, будет обслуживаться файлом index.php. Посмотрите на эту схему, чтобы увидеть, на что я ссылаюсь:

Обратите внимание, что поток для каждой страницы заканчивается на index.php. В этом причина того, что файл index.php обязателен для темы WordPress. Если у вас в теме WordPress нет какого-либо другого файла (например, если у вас в теме нет файла search.php), будет вызываться index.php.

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

Я пройдусь по каждому типу файлов по очереди и покажу иерархию выполнения.

Главная страница

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

  1. front-page.php
  2. home.php
  3. index.php

Создавая главную страницу, WordPress будет искать front-page.php. Если этот файл не будет найден, WordPress будет искать home.php. Если home.php существует, будет использоваться он. Если нет, WordPress просто будет использовать файл по-умолчанию — index.php.

Запись WordPress

  1. single-[тип поста].php
  2. single.php
  3. index.php

У WordPress может быть столько типов постов, сколько нам нужно. Так что будет проще сделать другой дизайн для всех или некоторых типов постов. По умолчанию "post" - это стандартный и главный тип поста WordPress.

Так что, например, если ваш пользовательский тип поста – product, то он будет single-product.php

Чтобы узнать больше о том, как добавлять новые типы постов в WordPress, почитайте описание в Codex.

Страница WordPress

  1. [название шаблона].php
  2. page-[slug].php
  3. page-[id].php
  4. page.php
  5. index.php

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

Если они не найдены, WordPress будет искать файл, в котором указан короткий заголовок текущей страницы, который используется в качестве ссылки (так называемый slug). То есть, если этот заголовок aboutus, то он будет искать файл с названием page-aboutus.php в текущей теме поста. Точно так же WordPress будет искать файлы с ID, если не найдет предыдущие.

Страница Рубрики

  1. category-[slug].php
  2. category-[id].php
  3. category.php
  4. archive.php
  5. index.php

По приведенной выше очереди вы можете понять, как вы можете использовать разные шаблоны для страницы рубрик. Например, у вас может быть свой вариант страницы, который будет определяться по slug и id, а для остальных категорий будет использоваться файл по умолчанию "category.php"

Страница Метки

  1. tag-[slug].php
  2. tag-[id].php
  3. tag.php
  4. archive.php
  5. index.php

Здесь будет тот же вариант, что и для рубрик. У вас так же могут быть разные страницы меток с разными slug или tag id.

Страница таксономии

Для страниц таксономии немного другая иерархия:

  1. taxonomy-[tax]-[term].php
  2. taxonomy-[tax].php
  3. taxonomy.php
  4. archive.php
  5. index.php

Страница автора

  1. author-[author-nicname].php
  2. author-[author-id].php
  3. author.php
  4. archive.php
  5. index.php

Теперь вы знаете, что у вас также могут быть разные варианты для разных пользователей. Как и в варианте с рубриками или метками, файлы могут быть разными и идентифицироваться по slug (в данном случае, это будет ник пользователя) или ID пользователя.

Страница прикрепленного файла

  1. [mime-type].php
  2. attachment.php
  3. single.php
  4. index.php

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

Страница даты

  1. date.php
  2. archive.php
  3. index.php

Для специфической страницы даты мы можем создать файл date.php в папке темы. Затем очередь идет к archive.php и в завершение – к index.php.

Страница архива

  1. archive.php
  2. index.php

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

Страница поиска

  1. search.php
  2. index.php

Вы можете настроить свою выдачу результатов поиска с помощью файла search.php. Если файла search.php нет, будет вызываться index.php.

Страница 404

  1. 404.php
  2. index.php

В случае, если пост не будет найден, WordPress будет искать файл 404.php, а затем, если не найдет этот файл, обратится к index.php.

Заключение

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

Поделитесь своими мнениями или напишите о том, какой еще файл можно внести в иерархию.

Источник: WP.tutsplus.com

Вам понравился материал?

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

Такой e-mail уже зарегистрирован. Воспользуйтесь формой входа или введите другой.

Вы ввели некорректные логин или пароль

Извините, для комментирования необходимо войти.

1 комментарий

сначала новые
по рейтингу сначала новые по хронологии

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