Получить категории кастомной таксономии, Wordpress

Есть таксономия, которую я создал:

function create_taxonomy(){
    register_taxonomy('specialization', [ 'service' ], [
        'label'                 => '',
        'labels'                => [
            'name'              => 'Специализации',
            'singular_name'     => 'Специализация',
            ...
            'new_item_name'     => 'Новое название специализации',
            'menu_name'         => 'Специализации',
        ],
        'description'           => '',
        'public'                => true,
        'hierarchical'          => true,
        'rewrite'               => false,
        'capabilities'          => array(),
        'meta_box_cb'           => null,
        'show_admin_column'     => false,
        'show_in_rest'          => null,
        'rest_base'             => null,
    ]);
}

Не могу получить категории этой таксономии.

Пытался получить через функцию get_categories() - возвращает пустой массив

$categories = get_categories([
   'taxonomy' => 'specialization',
   'hide_empty' => 0,
   'parent' => 0,
   'orderby' => 'id',
   'order' => 'ASC',
]);

Пытался получить через функцию get_terms() - возвращает "Неверная таксономия"

$categories = get_terms( [
   'taxonomy'   => 'specialization',
   'hide_empty' => false,
] );

Я что-то не понимаю как это работает. Надо просто получить категории, не больше. Если я буду делать тоже самое, например, применю первую функцию get_categories() к стандартным записям, либо же к таксономии из woocommerce, то всё будет работать. Почему же тогда не работает с моей таксономией?


Ответы (1 шт):

Автор решения: Marina Sorochan

Вот так попробуйте

<?php
$args = array(
            'taxonomy'     => 'specialization', // Название произвольной таксономии
            'orderby'      => 'name',  // Сортируем по названия, согласно алфавиту
            'hide_empty' => 0,
            'hierarchical' => 1,       // Включаем древовидный список
            'title_li'     => '',   // Убираем заголовок списка
            'show_option_none' => 'non'
        );
        ?>
<ul>
 <?php wp_list_categories($args); ?>
</ul>

→ Ссылка