Intereting Posts
Изменить метку поля заголовка для сообщений в бэкэнд Как удалить пункты меню с «моих сайтов» в многосайтовой сети? Географический запрос близости с использованием post_meta jQuery формы и обновления информации Почему инструменты Google для веб-мастеров говорят, что весь сайт заблокирован файлом robots.txt, когда у меня нет файла robots.txt? Автоматическое добавление автоответчика к сообщениям Post__not_in удаляет только первые 2 страницы Добавление полей в «Добавить нового пользователя», но данные формы не сохранены в БД Добавить функцию jQuery на страницы администратора Ошибка скорости страницы: «показывать масштабированные изображения» исключить сообщение из цикла, если оно находится в категории, но не во многих категориях Загрузите PDF-файлы и другие файлы из Front-End Добавить заголовок для предыдущих и следующих сообщений в тему Yoko PHP, смешанный с некоторым JS-кодом для обновления настроек темы WordPress Попытка создать вложенный объект с помощью $ wpdb-> get_results ($ sql, OBJECT)

Почему запуск проверки администратора приведет к ошибке 500? Я вызываю is_super_admin ();

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