Ошибка меню в консоли администратора с пользовательским плагином: У вас недостаточно разрешений для доступа к этой странице
( Примечание модератора: Оригинальное название: "Ошибка: у вас недостаточно прав для доступа к этой странице. Попытка создать пользовательский плагин")
Я пытаюсь написать свой собственный плагин WordPress, но как только я нажимаю на меню, я получаю следующую ошибку:
У вас нет достаточных разрешений для доступа к этой странице.
Мой плагин находится под:
/wp-content/plugins/wp-e-commerce-group-pricing/wp-e-commerce-group-pricing.php
Код приведен ниже, я новичок в WordPress, так что, возможно, я делаю что-то не так:
if ( is_admin() ) {
// Hooks and admin menu setup
add_action('admin_menu', 'add_options_gp');
function add_options_gp() {
add_submenu_page('wpsc-sales-logs','WPEC - Group Pricing','Group Pricing',7,
'wp-e-commerce-group-pricing', 'price_options');
}
function price_options(){
// Page content goes here...
}
}
2 answers
Я думаю, что проблема может быть в вашем призыве к add_submenu_page()
:
add_submenu_page('wpsc-sales-logs',...
Первым параметром должна быть ссылка на "слизняк" вашей страницы меню, т.Е. Если вы используете 'edit.php'
вместо этого, вы увидите, что получите опцию меню под "Сообщения" страница меню:
add_submenu_page('edit.php','WPEC - Group Pricing','Group Pricing', 7,
'wp-e-commerce-group-pricing', 'price_options');
Вот как это выглядит:
( источник: mikeschinkel.com)
Таким образом, вам нужно выяснить, какой фрагмент URL (часть, прошедшая http://yoursite.com/wp-admin/
) вашей страницы меню использует.
ОБНОВЛЕНИЕ
Для будущих читателей выпуск Роланда был приоритетным выпуском . Изменение приоритета с 10 на 11 исправило это в его случае:
add_action('admin_menu', 'add_options_gp',11);
P.S. Вам действительно не нужно тестирование оператора if
для is_admin()
, так как вы используете крючок 'admin_menu'
; он срабатывает только в администраторе.
Отображается ли он и работает ли, если вы добавляете его в качестве страницы подменю в какой-либо другой пункт меню? Пожалуйста, попробуйте это, чтобы убедиться, что это работает, и единственная проблема - слизняк. Какой-то момент, который я бы предложил посмотреть, - это папка родительского плагина и поиск add_menu_page там.
Если вы заглянете в свою папку электронной коммерции wp: wp-электронная коммерция > wpsc-администратор> admin.php в строке 71-96 вы найдете способ, как это делается в плагине.
@Mike: Вот ссылка для скачивания
Попробуйте использовать add_object_page( $page_title, $menu_title, $access_level, $file, $function = '', $icon_url = '');
с 'admin.php?page=wpsc-sales-logs'
или 'wpsc-sales-logs'
.
Или попробуйте использовать что-то вроде add_submenu_page('wpsc-sales-logs', __('WPEC - Group Pricing', 'wpsc'), __('Group Pricing', 'wpsc'), 7, 'wpsc-sales-logs', 'price_options');
или взгляните на ссылку из файлов плагинов wp-электронной коммерции в (файл сверху) строка 99-108