Anda dapat menghubungkan ke pre_insert_term
, memeriksa taksonomi dan apakah pengguna memiliki peran yang ditentukan sebagai berikut:
function disallow_insert_term($term, $taxonomy) {
$user = wp_get_current_user();
if ( $taxonomy === 'post_tag' && in_array('somerole', $user->roles) ) {
return new WP_Error(
'disallow_insert_term',
__('Your role does not have permission to add terms to this taxonomy')
);
}
return $term;
}
add_filter('pre_insert_term', 'disallow_insert_term', 10, 2);
Ini akan mencegah pengguna memasukkan istilah baru tetapi memungkinkan mereka untuk mencari dan menambahkan istilah yang ada ke posting.
Ketahuilah bahwa ketika pada layar edit posting pengguna dapat memasukkan nama istilah yang tidak ada dan tekan enter atau klik tombol add yang akan menambahkan istilah ke DOM namun pada saat ini istilah tersebut tidak ditambahkan ke database sampai pengguna menerbitkan atau memperbarui pos di mana istilah tersebut tidak diizinkan.