Intereting Posts
Пользовательский цикл блога на домашней странице WordPress получает сообщения по дате без query_posts Как создать собственный .php-файл с частью кода и повторить его на разных страницах? Получите таксономию родителя, используя дочернюю пулю (из объединенных таксономий) Woocommerce – Скрыть столбец в таблице корзины Добавить параметр URL во все внутренние ссылки, используя определенную тему Вызов функции после создания новой записи для пользовательского типа WordPress? Могу ли я использовать пользовательские типы сообщений для создания отношений родителя / ребенка? Как восстановить слизни для категорий и тегов, конвертирующих нелатинские символы? get_term_children не возвращает массив дочерних терминов Как установить контент для должности конкретного CPT? Конфигурация электронной почты WordPress Аутентификация по CURL Миграция с CMS Made Simple в WordPress Изменение статуса страницы после события (поиск рекомендаций по лучшей практике)

Пользовательская роль пользователя: может редактировать собственную страницу, не создавать новые

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

Я использую плагин Member для управления ролями в настоящее время.

Я также хотел бы убедиться, что элемент «Добавить новый» удален для этой роли пользователя. Я пробовал следовать безрезультатно:

 function cm_redirect_users_by_role() { if ( ! defined( 'DOING_AJAX' ) ) { $current_user = wp_get_current_user(); $role_name = $current_user->roles[0]; if ( 'dealer' === $role_name ) { remove_menu_page('post-new.php?post_type=page'); // wp_redirect( 'http://www.mywebsite.com/' ); } // if } // if DOING_AJAX } // cm_redirect_users_by_role add_action( 'admin_init', 'cm_redirect_users_by_role' ); 

Я не уверен, что вы используете наиболее правильный способ ограничения, поэтому, возможно, кто-то еще может прослушивать, но этот оператор if захватывает первую роль в массиве, которая может быть дилером или, возможно, другой ролью, if ( 'dealer' === $role_name ) {

Попробуйте вместо этого if ($current_user->has_cap ('dealer')) { функция has_cap для пользователя WP проверит возможности и роли пользователей https://codex.wordpress.org/Class_Reference/WP_User

Или эта функция https://codex.wordpress.org/Function_Reference/current_user_can

 if (current_user_can('dealer')) 

Также убедитесь, что у вас есть правильная капитализация «Дилер» и «Дилер»,