Предположим, вы определили свой cpt (пользовательский тип записи) следующим образом:
register_post_type('listings', $args); // where $args is an array of your cpt settings
Тогда вы можете использовать следующее для добавления таксономии:
// category-like:
register_taxonomy('listing_category', array('listings'), array('hierarchical' => true, ...));
// tag-like:
register_taxonomy('listing_tag', array('listings'), array('hierarchical' => false, ...);
На самом деле, я личнопоместите эти определения пользовательских типов в свой собственный плагин (не открытый для публичного доступа, поскольку он предоставляет мои собственные функциональные возможности сайта, которые, очевидно, совсем не подходят другим).
Проблема размещения в functions.php усложняет задачуперейдите на новую тему (хотя смена темы происходит не так часто, но для блога, принадлежащего самому себе, это случается когда-нибудь)текущая тема.Так что семантически это не должно быть в каталоге темы.