Добавляем типы публикаций в 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

Февраль 5, 2010 г.

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

Читать

Отключаем /wp-json/oembed/ в WP

Август 11, 2018 г.

Разработчиков WP не очень заботит SEO, и обновления движка могут оказывать негативные эффекты на индексацию сайта, т.к. могут появляться новые технические страницы, дубли и т.п. В версии 4.4 разработчики добавили RESTful интерфейс, который создаёт дополнительные ...

Читать

 

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

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



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