У меня в базе импортирована куча записей с разными кастомными post_type. Одновременно тема создает таксономию institution таким образом
function my_taxonomies_institutions() {
$labels = array(
'name' => _x( 'Категории', 'taxonomy general name' ),
'singular_name' => _x( 'Категория', 'taxonomy singular name' ),
'search_items' => __( 'Найти' ),
'all_items' => __( 'Все' ),
'parent_item' => __( 'Родительская' ),
'parent_item_colon' => __( 'Родительская:' ),
'edit_item' => __( 'Редактировать' ),
'update_item' => __( 'Обновить' ),
'add_new_item' => __( 'Добавить новую' ),
'new_item_name' => __( 'Новая' ),
'menu_name' => __( 'Категории' ),
);
$args = array(
'labels' => $labels,
'hierarchical' => true,
'show_admin_column' => true,
'rewrite' => array( 'hierarchical' => true, 'slug' => 'institutions' ),
);
register_taxonomy( 'institutions', 'institution', $args );
}
add_action( 'init', 'my_taxonomies_institutions', 0 );
В админке есть пункт меню Учреждения и внутри - Категории. Например, категория Секции (sekcii).
Теперь, чтобы заработала тема, расчитанная на эти таксономии, мне надо пройтись по базе и если в посте post_type=sekcii установить ему (как я это понимаю) термин sekcii таксономии institution. Вроде это делается функцией
wp_set_post_terms
Сначала определяю id термина:
print term_exists('sekcii'); // 7
дальше пробую эти варианты
$ret = wp_set_post_terms($pid, 7, 'institution');
$ret = wp_set_post_terms($pid, 'sekcii', 'institution');
$ret = wp_set_post_terms($pid, 7, 'Категория');
$ret = wp_set_post_terms($pid, 'Секции', 'Категория');
каждый раз получаю
WP_Error Object ( [errors] => Array ( [invalid_taxonomy] => Array ( [0] => Неверная таксономия. ) ) [error_data] => Array ( ) )
Что я делаю не так?