Error fatal: llamar a la función no definida wp_get_current_user ()

2

Tengo un error extraño o puede que no tenga las habilidades para abordar este problema. Estoy construyendo un plugin para Multisite. Cuando uso is_admin() , mi complemento funciona bien, pero cuando uso is_super_admin me muestra este error Fatal error: Call to undefined function wp_get_current_user() . Hice mi búsqueda pero no pude encontrar ninguna solución.

Mi código es este

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

Vi esta pregunta pero no es ayudándome.

    
pregunta Husnain 27.03.2013 - 07:22

1 respuesta

5

wp_get_current_user() es una función conectable y aún no está disponible cuando su complemento está incluido . Tienes que esperar a la acción plugins_loaded :

Ejemplo:

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

O mueva el control a la función de widget:

add_action( 'widgets_init', 'my_unregister_widget' );

function my_unregister_widgets() 
{
    if ( is_super_admin() )
        return;

    // not super admin
    unregister_widget( 'WP_Widget_Pages' );
    unregister_widget( 'WP_Widget_Calendar' );
}
    
respondido por el fuxia 27.03.2013 - 08:24

Lea otras preguntas en las etiquetas