Intereting Posts
paginate_links () Изменить порядок ссылок Как передача может быть настолько большой при экспорте данных (от 15-16 МБ до более 10 ГБ) Распространение внешних компонентов с плагинами Какие плагины для членства позволяют зарегистрированным пользователям заходить в закладки? Страница расписания в меню Проверить значение get_post после входа wp-admin Невозможно изменить название сайта в wordpress Как импортировать 55 000 изображений (загруженных через FTP) в WordPress Media libary? У каждого пользователя есть персональный блог Как отобразить заголовок и ссылку в wp_list_categories () Правило перезаписи для главной страницы не работает правильно Как я могу отобразить основной домен для подсайта в качестве подкаталога для другого домена? Программная вставка терминов не обновляет пользовательский интерфейс администрирования Taxonomy Multisite: нельзя создавать или создавать категории Преобразование рабочей формы AJAX для работы с WordPress

Неопределенное смещение & Неопределенное свойство | Не удалось правильно настроить мои колпачки

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

Это мой регистрационный код для одного из них

function {namespace}_contact_cpt() { $labels = array( 'name' => 'Messages', 'singular_name' => 'Message', 'menu_name' => 'Messages', 'name_admin_bar' => 'Messages' ); $args = array( 'labels' => $labels, 'show_ui' => true, 'show_in_menu' => true, 'menu_icon' => 'dashicons-email-alt', 'public' => false, 'capabilities' => array( 'create_posts' => 'create_contact', 'read_post' => 'read_contact', 'read_private_posts' => 'read_contact', 'edit-post' => 'edit_contact', 'edit_posts' => 'edit_contact', 'edit_others_posts' => 'edit_contact', 'edit_published_posts' => 'edit_contact', 'edit_private_posts' => 'edit_contact', 'delete_post' => 'delete_contact', ), 'map_meta_cap' => true, 'hierarchical' => false, 'menu_position' => 26, 'supports' => array( 'title', 'editor', 'author' ) ); register_post_type( '{namespace}-contact', $args ); } add_action( 'init', '{namespace}_contact_cpt' ); 

Если я запишусь на бэкэнд на своих сайтах и ​​откройте CPT, мне дадут это сообщение

Примечание: Неопределенное смещение: 0 в /home/www/example.com/dev/wp-includes/capabilities.php в строке 181

Строка 181 в этом случае:

 case 'read_post': // 179 case 'read_page': // 180 $post = get_post( $args[0] ); // 181 if ( ! $post ) { // 182 $caps[] = 'do_not_allow'; // 183 break; // 184 } // 185 

При комментировании 'read_post' => 'read_contact' ошибка исчезает.

В двух других типах сообщений сообщение об ошибке относится к строке 122

 case 'edit_post': // 120 case 'edit_page': // 121 $post = get_post( $args[0] ); // 122 if ( ! $post ) { // 123 $caps[] = 'do_not_allow'; // 124 break; // 125 } // 126 

Если вы удалите map_meta_cap => true из всех CPT, эти ошибки исчезнут, но я столкнулся с новым:

Примечание. Неопределенное свойство: stdClass :: $ delete_posts в /home/www/example.com/dev/wp-admin/includes/class-wp-posts-list-table.php в строке 403

 if ( current_user_can( $post_type_obj->cap->delete_posts ) ) { // 403 if ( $this->is_trash || ! EMPTY_TRASH_DAYS ) { // 404 $actions['delete'] = __( 'Delete Permanently' ); // 405 } else { // 406 $actions['trash'] = __( 'Move to Trash' ); // 407 } // 408 } // 409 

Что я делаю не так? Как мне установить возможности, чтобы я мог действительно управлять ими в бэкэнд. Я хочу исключить некоторых пользователей для создания сообщений этих CPT, другим не должно быть позволено удалять сообщения.

Solutions Collecting From Web of "Неопределенное смещение & Неопределенное свойство | Не удалось правильно настроить мои колпачки"