Я просто узнаю о пользовательских таксономиях WordPress. Как можно ограничить доступ для моих пользователей к использованию таксономии. Например, я создал таксономию с именем featured
и я хочу, чтобы редакторы и выше роли могли добавлять сообщения в эту таксономию.
Как установить уровень доступа? В зависимости от роли пользователя или возможностей, оба работают для меня.
Вот код, который я использую для своей таксономии:
function add_custom_taxonomies() { // Add new "Featured" taxonomy to Posts register_taxonomy('featured', 'post', array( // Hierarchical taxonomy (like categories) 'hierarchical' => true, // This array of options controls the labels displayed in the WordPress Admin UI 'labels' => array( 'name' => _x( 'Featured', 'taxonomy general name' ), 'singular_name' => _x( 'Featured', 'taxonomy singular name' ), 'search_items' => __( 'Search Featured' ), 'all_items' => __( 'All Featured' ), 'parent_item' => __( 'Parent Featured' ), 'parent_item_colon' => __( 'Parent Featured:' ), 'edit_item' => __( 'Edit Featured' ), 'update_item' => __( 'Update Featured' ), 'add_new_item' => __( 'Add New Featured' ), 'new_item_name' => __( 'New Featured Name' ), 'menu_name' => __( 'Featured' ), ), // Control the slugs used for this taxonomy 'rewrite' => array( 'slug' => 'featured', // This controls the base slug that will display before each term 'with_front' => false, // Don't display the category base before "/locations/" 'hierarchical' => true // This will allow URL's like "/locations/boston/cambridge/" ), )); } add_action( 'init', 'add_custom_taxonomies', 0 );
Достаточно ли было бы удалить метабокс со страницы «Редактировать сообщение»? Если да, дайте этому вихрь:
function remove_featured_meta() { if (!current_user_can('moderate_comments')){ remove_meta_box( 'featureddiv', 'post', 'side' ); } } add_action( 'admin_menu' , 'remove_featured_meta' );
Вы можете заполнить условный оператор в зависимости от того, какая из подходящих возможностей соответствует роли пользователя, которой вы хотите ограничить доступ к таксономии.