Создание темы WordPress – archive.php, category.php и tag.php

Автор: | 06.04.2019

Сегодня речь пойдет об архивах записей, а точнее о файлах  archive.php, Category.php и Tag.php, в рамках серии о создании темы WordPress с нуля. Это будет довольно короткая и простая статья, потому что эти файлы шаблонов очень незамысловаты. Как вы уже знаете, WordPress позволяет добавлять рубрики и метки для записей. Когда вы нажимаете на определенную метку или рубрику, они отображают все записи, которые находятся в этой конкретной категории или тэге.

archive.php

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

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

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

Создадим рубрику под названием «Первая рубрика» и поместим в нее запись номер 1. И создадим еще пару записей в этой рубрике для наглядности.

Вот так будет выглядеть страница сайта, если посетитель захочет просмотреть все записи данной рубрики:

Создание темы WordPress – archive.php, category.php и tag.php

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

Создание темы WordPress – archive.php, category.php и tag.php

Как видим, выглядят они одинаково. Если вы выберете все записи одного автора, также будет использоваться файл archive.php.

Category.php

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

Добавим в него свой код

Category.php

Как видим, теперь страница категории выглядит иначе, при этом страница меток не изменилась.

Создание темы WordPress – archive.php, category.php и tag.php

Аналогично, можно изменить внешний вид и для вывода записей по метке, создав файл tag.php, а также изменить внешний вид страницы записей автора, создав файл author.php.

 

Цикл

На что следует обратить внимание в коде!

Создание темы WordPress – archive.php, category.php и tag.php

Первое, что вы заметите, это то, что оператор if был отделен от оператора while. Это правильная процедура для этих двух файлов шаблонов, потому что нам нужно сказать «если есть записи», а затем нам нужно использовать две новые функции, которых мы еще не коснулись. Для Category.php мы будем использовать:

single_cat_title (); — функция, которая будет запрашивать/отображать имя конкретной рубрики, которая была выбрана/нажата. По сути, мы хотим иметь заголовок в верхней части страницы, который говорит  «Вот сообщения в данной категории». В приведенном выше примере я использую фразу » Все записи рубрики:».

Все это также относится и к tag.php. Но здесь мы используем функцию single_tag_title(); вместо single_cat_title();.

Иерархия шаблонов WordPress
Иерархия шаблонов WordPress

Для большинства пользователей WordPress — это черный ящик. Вы помещаете Read more

Создание темы WordPress — functions.php
Создание темы WordPress - functions.php

functions.php файл шаблона функций в WordPress действительно является двигателем вашей Read more

Создание темы WordPress – 404.php, Search.php, and Searchform.php
Создание темы WordPress – 404.php, Search.php, and Searchform.php

Сегодня мы поговорим о еще трех файлах, которые, если их Read more

Создание темы WordPress – single.php
Создание темы WordPress – single.php

Мы уже говорили о home.php и о том, как этот Read more

Создание своей темы WordPress – page.php
Создание своей темы WordPress – page.php

Файл page.php контролирует то, что отображается на каждой из ваших Read more

Создание темы WordPress — home.php, front-page.php, and index.php
home.php, front-page.php и index.php

Сегодня поговорим о трех очень важных файлах: home.php, front-page.php и Read more

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *

один + 19 =