Вам уже все пояснили — не нужно дублировать топики.
Хорошо, тогда прошу пояснить про вопрос: 2. Как сделать вывод меток произвольного типа записи?
Публиковал вопрос тут.
И ещё, согласно кодексу указано:
‘taxonomies’
(array) An array of taxonomy identifiers that will be registered for the post type. Taxonomies can be registered later with register_taxonomy() or register_taxonomy_for_object_type()
.
У меня эта строка закомментирована и не сливаются метки из стандартных записей. Но предполагаю, что свои метки из моей записи не могу вытащить именно из-за того, что эта строка закомментирована.
// 'taxonomies' => array('post_tag'), // добавит поддержку меток к custom post type. Если добавить в таком виде: 'taxonomies' => array('post_tag'), то все метки из категорий цепляются.
Хочется больше про это узнать, но не могу найти инфо…
-
Ответ изменён 5 лет, 2 месяца назад пользователем
legal2019.
Решение оказалось таким (может кому будет интересно и полезно):
При регистрации таксономии для созданного произвольного типа записи просто нужно сделать так:
add_action( 'init', 'true_register_name-of-your-custom-post-type' ); // Использовать функцию только внутри хука init
function true_register_ name-of-your-custom-post-type' () {
$labels = array(…);
$args = array(
'labels' => $labels,
'taxonomies' => array('mylabel'), // добавит поддержку меток к таксономии 'mylabel'. Если добавить в таком виде: 'taxonomies' => array('post_tag'), то все метки из стандартных записей цепляются в кастомную.
);
register_post_type('name-of-your-custom-post-type' ', $args);
Соответственно у вас должно быть:
add_action('init', 'create_name-of-your-custom-post-type_taxonomy');
function create_name-of-your-custom-post-type_taxonomy(){
// регистрируем таксономию 'services' к типу записей 'name-of-your-custom-post-type' (как категории)
// Как категории (иерархический древовидный порядок) - 'hierarchical' => true,
// Как теги (не иерархический порядок) - 'hierarchical' => false,
register_taxonomy('services', array('name-of-your-custom-post-type'), array(
'label' => 'services', // определяется параметром $labels->name
'labels' => array(
'name' => 'Категории услуг ("Термы")',
)
'hierarchical' => true,
) );
// Добавить новую таксономию, не иерархическую (как теги)
$labels = array(
'name' => _x( 'Метки для услуг', 'taxonomy general name', 'textdomain' ),
);
$args = array(
'hierarchical' => false, //
'labels' => $labels,
);
register_taxonomy( 'mylabel', 'name-of-your-custom-post-type', $args );