Пожалуйста, попробуйте исправить вашу проблему, попробовав эти подходы
Пожалуйста, убедитесь, что ваша роль была создана путем получения результата от add_role
$result = add_role(/*your args*/);
if ( null !== $result ) {
echo 'Yay! New role created!';
}
else {
echo 'Oh... the basic_contributor role already exists.';
}
Если не в порядке.Пожалуйста, убедитесь, что при попытке отредактировать страницу с этой ролью sub_admin
Если проблема не устранена, обратите внимание на уведомление руководства разработчика Wordpress
После первого вызоваДля add_role () роль и ее возможности будут храниться в базе данных!
Последовательные вызовы ничего не сделают, включая изменение списка возможностей, что может не соответствовать ожидаемому вами поведению.
Может быть, вам нужно remove_role()
, а затем add_role
снова.Возможно, вы создали роль в первый раз без каких-либо возможностей.
Также попробуйте использовать действие init для добавления ролей
function wporg_simple_role()
{
remove_role('sub_admin');
// or add_role('sub_admin');
}
add_action('init', 'wporg_simple_role');
Возможно, нет редактирующей роли, все возможности администратора:
activate_plugins
delete_others_pages
delete_others_posts
delete_pages
delete_posts
delete_private_pages
delete_private_posts
delete_published_pages
delete_published_posts
edit_dashboard
edit_others_pages
edit_others_posts
edit_pages
edit_posts
edit_private_pages
edit_private_posts
edit_published_pages
edit_published_posts
edit_theme_options
export
import
list_users
manage_categories
manage_links
manage_options
moderate_comments
promote_users
publish_pages
publish_posts
read_private_pages
read_private_posts
read
remove_users
switch_themes
upload_files
customize
delete_site
Возможно, админ-бар также зависит от manage_options.Вы можете удалить возможность manage_options, отметив, что это не страница администратора
function change_role() {
global $wp_roles;
if ( ! is_admin() ) {
return;
}
// if not admin page - you could temporary remove manage capabilities from
// sub_admin role
}
add_action('wp', 'change_role');