Создание произвольных типов записей и таксономий

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

Сначала создадим новую таксономию (отдельный список разделов). А затем новый тип записей, отличный от уже существующих Записи и Страницы.

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

В панели администрирования меню WordPress появится новый тип записей и будет выгледеть он следующим образом:

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

Создание новой таксономии

По аналогии с предыдущей статьёй создаём новую таксономию для WordPress. Однако вместо таксономии для категорий «Имен» будет создана таксономия для категорий «Новости».

Создание шаблона для новой таксономии

Для отображения новых категорий в корневой части своего шаблона WordPress создаём файл taxonomy-snews.php. Туда вносим содержимое файла archive.php с нужными изменениями.

Прописываем к нему пути в файле archive.php:

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

Создание произвольного типа записи

Теперь создадим произвольный тип записи, которым будет являться «Новости». Для этого в файл functions.php нужно добавить следующий код:

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

Создаём в директории шаблона своего сайта на WordPress файл single-news.php. И вставляем туда содержимое файла single.php с теми изменениями, которые вам нужны в дизайне новостей.

Дружелюбные URL в своей таксономии

Если на сайте включены человекопонятные URL (ЧПУ), то для работы новых таксономий WordPress обязательно нужно добавить в файл functions.php следующий php:

После всех манипуляций с произвольным типом записей в файле functions.php, если у вас ЧПУ ссылки, надо обновить их структуру. Для этого заходим в административной части WordPress по ссылке: «Настройки» > «Постоянные ссылки». И там ничего не меняя, нажимаем кнопку «сохранить изменения».

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

Вышеприведенный код работает при следующей настройке в постоянных ссылках WordPress:

Новые записи выглядят следующим образом:

А новые категории показываются так:

Необходимые дополнения для произвольных типов записей

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

Если вам нужно вывести какие-нибудь данные (на подобии is_single), в зависимости от типа произвольных данных, то нужно использовать is_singular:

где news и article — типы произвольных полей.

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

Напишите свой комментарий, если вам есть что добавить/поправить/спросить по теме текущей статьи: "Создание произвольных типов записей и таксономий".

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