Почему на WordPress рано в Custom Post Types

Сегодня 7 августа 2015, вордпресс 4.2.4 и в нем существует два способа завести Custom Post Types (CPT):
1. Описать в теме в functions.php нужные типы.
2. Плагином.

Плюсы и минусы первого и второго варианта:

Плюсы

  1. В теме хорошо, поскольку полный ручной контроль (если руки правильно растут), а в плагине может быть не так как хочется.
  2. Плагином хорошо потому что всё созданное не пропадает из видимости при смене темы. Например, если надо на несколько сайтов сразу.

Минусы

  1. В теме: При смене темы всё что было настроено в теме руками, разумеется в другой теме не будет. Это вроде как хардкодинг.
  2. Плагином: CMS вордпресса пока не поддерживает работу с CPT, тупо нет функционала, нельзя добавить страницу Archives в меню, нет настроек интерпретации в URL глобально таксономией: то что из коробки называется по умолчанию Category и Tags это два вида организации ТОЛЬКО Записей, в виде рубрик и в виде меток. Даже если завести CPTypes и CPTaxonomy, то в Настройки→Постоянные ссылки не предусмотрено как их выводить, там пока минимум и по роадмэпу даже не планируют уделять внимания – есть только поле как выводить %category% в смысле именно нативной Category, а про CPT ищите другой плагин (есть только тупо переименование и порядок вывода нативных таксономий в URL).

 

Итого, делать CPT через тему это фундаментально не правильно, а через какой-либо плагин – ограничение по возможностям. Работа с CPT обязана быть реализована в WP нативно, чтобы был определён один путь.

В принципе, для внешней организации всего, что хочется от CPT (человекочитаемости) достаточно Рубрик в Записях. Это если вы не боитсь утонуть в единой общей свалке Записей и готовы везде в шаблонах дописывать условие на любой вывод о конкретизации наследования вывода от принадлежности рубрики. Но придётся уточнять все встроенные функции вывода вордпресса, они сами не умеют.