Добавляем типы публикаций в WordPress

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

К этим «коробочным» типам можно добавить собственные, с уникальной конфигурацией полей, собственными словарями таксономии и другими особенностями.

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

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

Регистрация типов обычно включается в этап инициализации сайта, а php код помещается в файл темы function.php.

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

Благодаря нашему примеру, в админ панели появится специальный раздел — Продукция. Значок (menu_icon), можно выбрать из большой коллекции, смотрите тут:

Dashicons

Коллекция стандартных значков велика, их более сотни. Для продукции я выбрал значок тележки из супермаркета (dashicons-cart).

Настройка полей в редакторе нового типа публикации.

При создании, в свойстве supports мы указали, что наши товары имеют:

  • title — заголовок
  • editor — редактируемый текст описания
  • excerpt — цитата, необязательное краткое содержание вашего текста, которое можно использовать в вашем шаблоне
  • thumbnail — картинка, прикрепляемая к публикации (в нашем случае фото товара)
  • custom-fields — произвольные поля (они хранятся как мета данные публикации)

Ещё существуют такие поля как:

  • comments — публикация будет обладать комментариями,
  • page-attributes — это может быть порядок вывода в меню, иерархия
  • author — информация об авторе
  • revisions — будут сохранятся ревизии данного типа публикаций
  • post-formats — в редактор добавляется выбор формата публикации. Это мета информация, которая может быть использована при темизации.
  • trackbacks — отслеживание обратных ссылок.

Кроме того, сюда можно включить имена словарей таксономии. Как объявлять словари ( привычные нам рубрики), читайте далее.

Более правильно их подключать к публикации, объявив свойство taxonomies (как следано в примере).

Объявление собственных словарей (рубрикаторов) публикации.

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

Параметров много, они подробно описаны в кодексе WP.

Есть модули, которые позволяют перенести всю работу по настройке типов публикаций в админ панель. Это удобно, т.к. не все могут править PHP код без последствий для здоровья сайта :).

Но я бы не советовал ставить такие сторонние модули. Добавление типа публикации требуется довольно редко, а изменение его настроек ещё реже. Лучше, если данный инструмент не будет постоянно болтаться в админке у вас под рукой.

Не забывайте также, что чем меньше сторонних модулей, тем лучше в плане безопасности. WP из коробки и её фирменные темы — надежны и безопасны, чего нельзя гарантировать для  многочисленных сторонних модулей.

Написать комментарий

Мало букафф? Читайте есчо !

Отключаем архивы в wordpress

Апрель 8, 2017 г.

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

Читать

Относительные ссылки/пути в Wordpress

Февраль 28, 2017 г.

При добавлении картинки в публикацию, WP формирует html код с абсолютным путем. Т.е. мы получаем полный адрес: протокол, домен, путь на сайте и имя файла. Как сделать, чтобы WP подставлял относительные пути, т.е. опускал протокол и домен? Настраиваем ...

Читать

 

Комментарии к «Добавляем типы публикаций в WordPress»

Понравилась статья? Есть вопросы? - пишите в комментариях.



Комментарий: