Bạn có thể kết nối pre_insert_term
, kiểm tra phân loại và người dùng có vai trò được chỉ định như sau hay không:
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);
Điều này sẽ ngăn người dùng chèn các thuật ngữ mới nhưng cho phép họ tìm kiếm và thêm các cụm từ hiện có vào bài đăng.
Beaware mà khi trên màn hình chỉnh sửa bài đăng, người dùng có thể nhập tên thuật ngữ không tồn tại và nhấn enter hoặc nhấp vào nút thêm sẽ thêm thuật ngữ vào DOM, tuy nhiên tại thời điểm này, thuật ngữ này không được thêm vào cơ sở dữ liệu cho đến khi người dùng xuất bản hoặc cập nhật bài đăng tại thời điểm mà thuật ngữ sẽ không được phép.