У меня есть плагин, который я написал. У пользователя возникли проблемы с совместимостью с темой, в которой используется скрытая панель инструментов для добавления списков на их сайт. Если пользователь вошел в систему и был внесен вкладчиком, но НЕ администратором, мой чек на is_admin () вернет true, поскольку они были технически на странице панели мониторинга.
Итак, мой код проверяет, являются ли они admin, затем запускает ряд функций. Одна из проверок заключается в том, есть ли у них разрешения на управление опциями. Если у них нет прав на управление опциями, он умирает. Это проблема с темой, поэтому я просто обернул мои теги add_action следующими
if ( is_super_admin() ) { add_action( 'admin_init', 'myplugin_register'); add_action( 'admin_menu', 'myplugin_menu' ); }
Это вызывает ошибку 500, когда любой администратор обращается к области wp-admin на сайте. Я не уверен, почему простая проверка, чтобы увидеть, является ли пользователь супер администратором, приведет к сбою сайта.
Дополнительная информация о is_super_admin () здесь http://codex.wordpress.org/Function_Reference/is_super_admin
Из вашего пастабина:
if (!function_exists('wp_get_current_user')) { include_once( ABSPATH . 'wp-admin/includes/pluggable.php' ); } if ( is_super_admin() ) { add_action( 'admin_init', 'myplugin_register'); add_action( 'admin_menu', 'myplugin_menu' ); }
В wp-admin/includes/pluggable.php
нет файла. pluggable.php
находится в wp-includes/pluggable.php
, но я не вижу причин, по которым вам нужно будет предусмотреть намерение включить этот файл. Он загружает передний и задний концы.