current_user_can on WordPress 3.1.1

I just upgraded to WordPress 3.1.1 and suddenly I’m getting the following error:

Fatal error: Call to undefined function wp_get_current_user() in /home/arisehub/arisehub.org/wp-includes/capabilities.php on line 1028

Read More

I’ve narrowed it down to my usage of “current_user_can”

Example:

if ( !current_user_can('manage_options') ) { add_action('admin_init','customize_page_meta_boxes'); }

Removing that reference to current_user_can removes the errors. Any ideas?

Related posts

Leave a Reply

1 comment

  1. You are calling the function too early. The functions.php is included before current_user_can() is defined. Never do anything before the hook 'after_setup_theme':

    Example for the functions.php

    add_action( 'after_setup_theme', array( 'WPSE_14041_Base', 'setup' ) );
    
    class WPSE_14041_Base
    {
        public static function setup()
        {
            ! isset ( $GLOBALS['content_width'] ) and $GLOBALS['content_width'] = 480;
    
            add_theme_support( 'post-thumbnails', array( 'post', 'page' ) );
            add_theme_support( 'automatic-feed-links' );
    
            add_theme_support( 'menus' );
    
            add_editor_style();
    
            add_custom_background();
    
            // You may use current_user_can() here. And more. :)
        }
    }