Ошибка меню в консоли администратора с пользовательским плагином: У вас недостаточно разрешений для доступа к этой странице


( Примечание модератора: Оригинальное название: "Ошибка: у вас недостаточно прав для доступа к этой странице. Попытка создать пользовательский плагин")

Я пытаюсь написать свой собственный плагин 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...
  }
}
Author: MikeSchinkel, 2011-02-08

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');

Вот как это выглядит:

WordPress Admin Menu with Submenu Page URL
( источник: 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'; он срабатывает только в администраторе.

 4
Author: MikeSchinkel, 2020-06-15 08:21:38

Отображается ли он и работает ли, если вы добавляете его в качестве страницы подменю в какой-либо другой пункт меню? Пожалуйста, попробуйте это, чтобы убедиться, что это работает, и единственная проблема - слизняк. Какой-то момент, который я бы предложил посмотреть, - это папка родительского плагина и поиск 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

 1
Author: kaiser, 2011-02-08 14:51:08