Есть массив массивов с данными необходимыми для регистрации таксономий, слаги, имена и т.д.
Как из этого массива, пробегая циклом, зарегистрировать все таксономии?
Проблема в том что нельзя переобъявить функцию, как сделать название функции динамическим так и не придумал, пробовал всякие ссылки на переменные и анонимные функции, что то не получилось.
foreach ($tax_mas as $tax) {
add_action('init', 'create_taxonomy');
function create_taxonomy() {
register_taxonomy($tax['tax_slug'], array('products'), array(
'labels' => array(
'name' => $tax['tax_name'],
'singular_name' => $tax['tax_name'],
'search_items' => 'Найти атрибут',
'all_items' => 'Все атрибуты',
'view_item' => 'Посмотреть атрибуты',
'parent_item' => 'Родительская группа',
'parent_item_colon' => 'Родительская группа:',
'edit_item' => 'Редактировать атрибут',
'update_item' => 'Обновить атрибут',
'add_new_item' => 'Добавить новый атрибут',
'new_item_name' => 'Добавить новый атрибут',
'menu_name' => $tax['tax_name'],
'relations' => array('term'=>$tax['relation_term_slug'], 'term_tax'=>$tax['relation_term_taxslug'])
),
'description' => $tax['tax_description'], // описание таксономии
'public' => true,
'publicly_queryable' => true, // равен аргументу public
'show_ui' => true, // равен аргументу public
'show_in_menu' => false, // равен аргументу public
'show_in_nav_menus' => $tax['tax_show_menu'], // равен аргументу public
'show_tagcloud' => true, // равен аргументу show_ui
'show_in_rest' => true, // добавить в REST API
'rest_base' => true, // $taxonomy
'hierarchical' => true,
'update_count_callback' => '',
'query_var' => true, // название параметра запроса
'rewrite' => array('hierarchical' => true),
'capabilities' => array(),
'meta_box_cb' => post_categories_meta_box, // callback функция. Отвечает за html код метабокса (с версии 3.8): post_categories_meta_box или post_tags_meta_box. Если указать false, то метабокс будет отключен вообще
'show_admin_column' => false, // Позволить или нет авто-создание колонки таксономии в таблице ассоциированного типа записи. (с версии 3.5)
'_builtin' => false,
'show_in_quick_edit' => true, // по умолчанию значение show_ui
));
}
}