Intereting Posts
URL-адрес сайта не работает после миграции в worpress, все ссылки повреждены WordPress register_post_type Недопустимый тип сообщения Как форматировать настраиваемые поля при редактировании вложения? Шаблон с нуля: боковые панели, не отображающие виджет Возможно ли создать резервную копию WordPress, просто скопировав ее? Как добавить контент в меню Как динамически вставить <a href> в заголовок изображения? Конвертировать многопользовательскую WordPress в единый сайт Сделать доступными страницы WordPress доступными только для пользователей Woocommerce список всех категорий, имеющих определенное слово в заголовке Исключить определенный блок из кеширования с помощью фрагментации Кэширование – не работает Как получить несколько флажков в одном мета-поле Может ли Ajax Action зацепиться за wp-hook Как загрузить файлы в WordPress? Пользовательская разбивка на страницы в коротком коде с WP_Query

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