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
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?
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. :)
}
}