Хотя я не могу подтвердить, почему read
не работает - обычно, если вы хотите ограничить что-то по ролям пользователей, вы можете добавить слаг для роли. Если вы прочитаете исходный текст для add_menu_page()
, он фактически запустит возможность через current_user_can
, который также принимает ярлык роли.
Я бы заменил read
на editor
и посмотрел, что получится. Он также будет работать для администраторов, поскольку он распространяется вниз по списку, и administrators
все имеют editor
, contributor
и т. д. «возможности».
Изменить: похоже, у вас установлен плагин Instagram Feed, который будет конфликтовать с вашим пользовательским плагином. Код этого плагина показывает, что страница sb-instagram-feed
принадлежит этому плагину:
function sb_instagram_menu() {
add_menu_page(
__( 'Instagram Feed', 'instagram-feed' ),
__( 'Instagram Feed', 'instagram-feed' ),
'manage_options',
'sb-instagram-feed',
'sb_instagram_settings_page'
);
add_submenu_page(
'sb-instagram-feed',
__( 'Settings', 'instagram-feed' ),
__( 'Settings', 'instagram-feed' ),
'manage_options',
'sb-instagram-feed',
'sb_instagram_settings_page'
);
}
add_action('admin_menu', 'sb_instagram_menu');
И этот плагин требует manage_options
, возможности только administrator
. Вам нужно будет не ссылаться на страницу, созданную другим плагином, или деактивировать этот плагин.
Редактировать 2. Обратите внимание, что непосредственное редактирование файлов подключаемого модуля обычно не рекомендуется, так как любые внесенные вами изменения будут перезаписаны при обновлении подключаемого модуля. Вы можете отключить для него текущее меню администратора и подключить собственное.
// Remove Existing Menu
remove_action( 'admin_menu', 'sb_instagram_menu' );
// Add Custom Menu
add_action( 'admin_menu', 'custom_sb_instagram_menu');
function custom_sb_instagram_menu() {
add_menu_page(
'Instagram Test',
'Instagram Test',
'editor',
'sb-instagram-feed',
'sb_instagram_settings_page'
);
add_submenu_page(
'sb-instagram-feed',
'Test Settings',
'Test Settings',
'editor',
'sb-instagram-feed',
'sb_instagram_settings_page'
);
}
person
Xhynk
schedule
19.06.2018