WP_Admin_Bar::initialize()

In this article

Initializes the admin bar.

Source

public function initialize() {
	$this->user = new stdClass();

	if ( is_user_logged_in() ) {
		/* Populate settings we need for the menu based on the current user. */
		$this->user->blogs = get_blogs_of_user( get_current_user_id() );
		if ( is_multisite() ) {
			$this->user->active_blog    = get_active_blog_for_user( get_current_user_id() );
			$this->user->domain         = empty( $this->user->active_blog ) ? user_admin_url() : trailingslashit( get_home_url( $this->user->active_blog->blog_id ) );
			$this->user->account_domain = $this->user->domain;
		} else {
			$this->user->active_blog    = $this->user->blogs[ get_current_blog_id() ];
			$this->user->domain         = trailingslashit( home_url() );
			$this->user->account_domain = $this->user->domain;
		}
	}

	add_action( 'wp_head', 'wp_admin_bar_header' );

	add_action( 'admin_head', 'wp_admin_bar_header' );

	if ( current_theme_supports( 'admin-bar' ) ) {
		/**
		 * To remove the default padding styles from WordPress for the Toolbar, use the following code:
		 * add_theme_support( 'admin-bar', array( 'callback' => '__return_false' ) );
		 */
		$admin_bar_args  = get_theme_support( 'admin-bar' );
		$header_callback = $admin_bar_args[0]['callback'];
	}

	if ( empty( $header_callback ) ) {
		$header_callback = '_admin_bar_bump_cb';
	}

	add_action( 'wp_head', $header_callback );

	wp_enqueue_script( 'admin-bar' );
	wp_enqueue_style( 'admin-bar' );

	/**
	 * Fires after WP_Admin_Bar is initialized.
	 *
	 * @since 3.1.0
	 */
	do_action( 'admin_bar_init' );
}

Hooks

do_action( ‘admin_bar_init’ )

Fires after WP_Admin_Bar is initialized.

Changelog

VersionDescription
3.1.0Introduced.

User Contributed Notes

You must log in before being able to contribute a note or feedback.