foreach ($tax_mas as $key=>$tax) {
if (is_array($tax)) {
$tag_show='';
if ($tax['tax_show_as_tag']=='false') {
$tag_show= 'post_categories_meta_box';
}
if ($tax['tax_show_as_tag']=='true') {
$tag_show= 'post_tags_meta_box';
}
$tag_show_in_menu='';
if ($tax['tax_show_menu']=='false') {
$tag_show_in_menu= false;
}
if ($tax['tax_show_menu']=='true') {
$tag_show_in_menu= true;
}
}
if ($key!='time') {
register_taxonomy($tax['tax_slug'], array('product'), 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']),
'select_color' => $tax['select_color_box'],
'tax_show_as_tag' => $tax['tax_show_as_tag'],
'tax_show_menu' => $tax['tax_show_menu'],
),
'description' => $tax['tax_description'], // описание таксономии
'public' => true,
'publicly_queryable' => true, // равен аргументу public
'show_ui' => true, // равен аргументу public
'show_in_menu' => false, // равен аргументу public
'show_in_nav_menus' => $tag_show_in_menu, // равен аргументу public
'show_tagcloud' => true, // равен аргументу show_ui
'show_in_rest' => true, // добавить в REST API
'rest_base' => true, // $taxonomy
'hierarchical' => false,
'update_count_callback' => '',
'query_var' => true, // название параметра запроса
'rewrite' => array('hierarchical' => true),
'capabilities' => array(),
'meta_box_cb' => $tag_show, // 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
));
}
}
$taxonomies = get_taxonomies(array(
'object_type' => array('products')
), 'objects');
foreach ($taxonomies as $taxonomy) {
add_action("{$taxonomy->name}_add_form_fields", 'meta_cat_fill_image', 10, 2 );
add_action("{$taxonomy->name}_edit_form_fields", 'meta_cat_fill_image', 10 );
add_action("edited_{$taxonomy->name}", 'save_meta_cat_fill_image', 10, 2 );
add_action("create_{$taxonomy->name}", 'save_meta_cat_fill_image', 10, 2 );
}