Фатальная ошибка: Call to undefined function wp_get_current_user()
27 мар. 2013 г., 08:22:22
Просмотры: 13.6K
Голосов: 4
Я столкнулся со странной ошибкой или, возможно, мне не хватает навыков для решения этой проблемы.
Я разрабатываю плагин для Multisite. Когда я использую is_admin()
, мой плагин работает нормально, но при использовании is_super_admin
появляется ошибка Fatal error: Call to undefined function wp_get_current_user()
. Я искал решение, но не смог его найти.
Мой код выглядит так:
if(!is_super_admin()){
add_action('widgets_init','my_unregister_widdget');
function my_unregister_widgets() {
unregister_widget( 'WP_Widget_Pages' );
unregister_widget( 'WP_Widget_Calendar' );
}
}
Я видел этот вопрос, но он мне не помог.

Husnain
43
Комментарии
Все ответы на вопрос
1
0
wp_get_current_user()
— это подключаемая функция (pluggable), которая ещё не доступна в момент подключения вашего плагина. Необходимо дождаться действия plugins_loaded
:
Пример:
add_action( 'plugins_loaded', 'wpse_92517_init' );
function wpse_92517_init()
{
if(!is_super_admin())
add_action('widgets_init','my_unregister_widget');
}
function my_unregister_widgets() {
unregister_widget( 'WP_Widget_Pages' );
unregister_widget( 'WP_Widget_Calendar' );
}
Или перенести проверку внутрь функции виджета:
add_action( 'widgets_init', 'my_unregister_widget' );
function my_unregister_widgets()
{
if ( is_super_admin() )
return;
// не супер-админ
unregister_widget( 'WP_Widget_Pages' );
unregister_widget( 'WP_Widget_Calendar' );
}

fuxia
107K
27 мар. 2013 г. 09:24:12
Похожие вопросы
1
ответов