Возможности - Невозможно Создать Новое Сообщение В Пользовательском Типе Сообщения

  • Автор темы Vk0823
  • Обновлено
  • 18, Oct 2024
  • #1

У меня зарегистрирован пользовательский тип сообщения, и при регистрации я использую...

 
 
 mdjm_template_edit: Has Cap
edit_mdjm_template: Does not have Cap
read_mdjm_template: Does not have Cap
delete_mdjm_template: Does not have Cap
edit_mdjm_templates: Has Cap
edit_others_mdjm_templates: Has Cap
publish_mdjm_templates: Has Cap
read_private_mdjm_templates: Has Cap
edit_published_mdjm_templates: Has Cap
edit_private_mdjm_templates: Has Cap
delete_mdjm_templates: Has Cap
delete_others_mdjm_templates: Has Cap
delete_private_mdjm_templates: Has Cap
delete_published_mdjm_templates: Has Cap
 

для регистрации типа сообщения.

С помощью редактора ролей пользователя я подтвердил, что у моего пользователя есть все ограничения *_mdjm_template, но он не может создать новое сообщение. Единственное ограничение, которое есть у этой роли, — это «чтение». Кнопка «Новое сообщение» отображается, но при нажатии на нее отображается сообщение «У вас недостаточно прав для доступа к этой странице». сообщение.

Все остальные функции этого типа сообщений работают нормально. т. е. пользователь может видеть все сообщения и редактировать их. Только не создавать новых.

Что я пропустил?

РЕДАКТИРОВАТЬ

Я добавляю ограничения к роли пользователя, созданной во время активации плагина, используя приведенное ниже...

current_user_can( '$cap' )

Вывод ограничений пользователя в журнал ошибок при попытке создать новый пост*

Вошёл в систему как пользователь с соответствующей ролью и используя $role = get_role( 'my_role' ); $caps = array( 'mdjm_template_edit' => true, 'edit_mdjm_template' => true, 'read_mdjm_template' => true, 'delete_mdjm_template' => true, 'edit_mdjm_templates' => true, 'edit_others_mdjm_templates' => true, 'publish_mdjm_templates' => true, 'read_private_mdjm_templates' => true, 'edit_published_mdjm_templates' => true, 'edit_private_mdjm_templates' => true, 'delete_mdjm_templates' => true, 'delete_others_mdjm_templates' => true, 'delete_private_mdjm_templates' => true, 'delete_published_mdjm_templates' => true ); foreach( $caps as $cap => $val ) { if( empty( $val ) ) $role->remove_cap( $cap ); else $role->add_cap( $cap ); }

if( !post_type_exists( 'email_template' ) ) { register_post_type( 'email_template', array( 'labels' => array( 'name' => _x( 'Email Templates', 'post type general name', 'mobile-dj-manager' ), 'singular_name' => _x( 'Email Template', 'post type singular name', 'mobile-dj-manager' ), 'menu_name' => _x( 'Email Templates', 'admin menu', 'mobile-dj-manager' ), 'name_admin_bar' => _x( 'Email Template', 'add new on admin bar', 'mobile-dj-manager' ), 'add_new' => __( 'Add Template', 'mobile-dj-manager' ), 'add_new_item' => __( 'Add New Template', 'mobile-dj-manager' ), 'new_item' => __( 'New Template', 'mobile-dj-manager' ), 'edit_item' => __( 'Edit Template', 'mobile-dj-manager' ), 'view_item' => __( 'View Template', 'mobile-dj-manager' ), 'all_items' => __( 'All Templates', 'mobile-dj-manager' ), 'search_items' => __( 'Search Templates', 'mobile-dj-manager' ), 'not_found' => __( 'No templates found.', 'mobile-dj-manager' ), 'not_found_in_trash' => __( 'No templates found in Trash.', 'mobile-dj-manager' ) ), 'description' => __( 'Email Templates for the Mobile DJ Manager plugin', 'mobile-dj-manager' ), 'public' => false, 'exclude_from_search' => true, 'publicly_queryable' => true, 'show_ui' => true, 'show_in_menu' => 'edit.php?post_type=email_template', 'show_in_admin_bar' => true, 'query_var' => true, 'rewrite' => array( 'slug' => 'email-template' ), 'capability_type' => 'mdjm_template', 'capabilities' => array( 'edit_post' => 'edit_mdjm_template', 'read_post' => 'read_mdjm_template', 'delete_post' => 'delete_mdjm_template', 'edit_posts' => 'edit_mdjm_templates', 'edit_others_posts' => 'edit_others_mdjm_templates', 'publish_posts' => 'publish_mdjm_templates', 'read_private_posts' => 'read_private_mdjm_templates' ), 'map_meta_cap' => true, 'has_archive' => true, 'hierarchical' => false, 'menu_position' => 5, 'supports' => array( 'title', 'editor', 'revisions' ) ) ); }

#custom-post-types #capabilities

Vk0823


Рег
03 Mar, 2004

Тем
68

Постов
190

Баллов
570
Тем
403,760
Комментарии
400,028
Опыт
2,418,908

Интересно