Как предотвратить добавление новых терминов в пользовательскую таксономию?
Я создал несколько пользовательских таксономий, используя register_taxonomy, но я хочу предотвратить добавление новых терминов. Я заметил, что в register_taxonomy есть аргумент "возможности", который я должен использовать, и если да, то как бы я его использовал?
Вот часть моего кода, я использую плагин, который я создал, чтобы добавить таксономии (следовательно, часть общедоступной статической функции). Есть ли простой способ предотвратить создание новых терминов для моего таксономия?
Спасибо
Осу
public static function register_directory_styles_taxonomy()
{
$labels = array(
'name' => 'Music styles',
'singular_name' => 'Music style',
'search_items' => 'Search music styles',
'all_items' => 'All music styles',
'parent_item' => 'Parent music style',
'edit_item' => 'Edit music style',
'update_item' => 'Update music style',
'add_new_item' => 'Add new music style',
'new_item_name' => 'New music style',
'choose_from_most_used' => 'Choose from most used music styles'
);
$args = array(
'hierarchical' => true,
'labels' => $labels,
'rewrite' => false
// 'show_ui' => false
);
register_taxonomy( 'ibmstyles', 'ibmdirectory', $args );
}
10
1 answers
Вы можете заблокировать добавление новых терминов с помощью фильтра на pre_insert_term
. Источник полезен при разработке того, что вы можете сделать.
add_action( 'pre_insert_term', function ( $term, $taxonomy )
{
return ( 'yourtax' === $taxonomy )
? new WP_Error( 'term_addition_blocked', __( 'You cannot add terms to this taxonomy' ) )
: $term;
}, 0, 2 );
23
Author: s_ha_dum, 2014-11-25 17:31:58