wp_admin_bar_my_account_menu

The timeline below displays how wordpress function wp_admin_bar_my_account_menu has changed across different WordPress versions. If a version is not listed, refer to the next available version below.

WordPress Version: 6.5

/**
 * Adds the "My Account" submenu items.
 *
 * @since 3.1.0
 *
 * @param WP_Admin_Bar $wp_admin_bar The WP_Admin_Bar instance.
 */
function wp_admin_bar_my_account_menu($wp_admin_bar)
{
    $user_id = get_current_user_id();
    $current_user = wp_get_current_user();
    if (!$user_id) {
        return;
    }
    if (current_user_can('read')) {
        $profile_url = get_edit_profile_url($user_id);
    } elseif (is_multisite()) {
        $profile_url = get_dashboard_url($user_id, 'profile.php');
    } else {
        $profile_url = false;
    }
    $wp_admin_bar->add_group(array('parent' => 'my-account', 'id' => 'user-actions'));
    $user_info = get_avatar($user_id, 64);
    $user_info .= "<span class='display-name'>{$current_user->display_name}</span>";
    if ($current_user->display_name !== $current_user->user_login) {
        $user_info .= "<span class='username'>{$current_user->user_login}</span>";
    }
    if (false !== $profile_url) {
        $user_info .= "<span class='display-name edit-profile'>" . __('Edit Profile') . '</span>';
    }
    $wp_admin_bar->add_node(array('parent' => 'user-actions', 'id' => 'user-info', 'title' => $user_info, 'href' => $profile_url));
    $wp_admin_bar->add_node(array('parent' => 'user-actions', 'id' => 'logout', 'title' => __('Log Out'), 'href' => wp_logout_url()));
}

WordPress Version: 5.9

/**
 * Adds the "My Account" submenu items.
 *
 * @since 3.1.0
 *
 * @param WP_Admin_Bar $wp_admin_bar The WP_Admin_Bar instance.
 */
function wp_admin_bar_my_account_menu($wp_admin_bar)
{
    $user_id = get_current_user_id();
    $current_user = wp_get_current_user();
    if (!$user_id) {
        return;
    }
    if (current_user_can('read')) {
        $profile_url = get_edit_profile_url($user_id);
    } elseif (is_multisite()) {
        $profile_url = get_dashboard_url($user_id, 'profile.php');
    } else {
        $profile_url = false;
    }
    $wp_admin_bar->add_group(array('parent' => 'my-account', 'id' => 'user-actions'));
    $user_info = get_avatar($user_id, 64);
    $user_info .= "<span class='display-name'>{$current_user->display_name}</span>";
    if ($current_user->display_name !== $current_user->user_login) {
        $user_info .= "<span class='username'>{$current_user->user_login}</span>";
    }
    $wp_admin_bar->add_node(array('parent' => 'user-actions', 'id' => 'user-info', 'title' => $user_info, 'href' => $profile_url, 'meta' => array('tabindex' => -1)));
    if (false !== $profile_url) {
        $wp_admin_bar->add_node(array('parent' => 'user-actions', 'id' => 'edit-profile', 'title' => __('Edit Profile'), 'href' => $profile_url));
    }
    $wp_admin_bar->add_node(array('parent' => 'user-actions', 'id' => 'logout', 'title' => __('Log Out'), 'href' => wp_logout_url()));
}

WordPress Version: 5.5

/**
 * Add the "My Account" submenu items.
 *
 * @since 3.1.0
 *
 * @param WP_Admin_Bar $wp_admin_bar
 */
function wp_admin_bar_my_account_menu($wp_admin_bar)
{
    $user_id = get_current_user_id();
    $current_user = wp_get_current_user();
    if (!$user_id) {
        return;
    }
    if (current_user_can('read')) {
        $profile_url = get_edit_profile_url($user_id);
    } elseif (is_multisite()) {
        $profile_url = get_dashboard_url($user_id, 'profile.php');
    } else {
        $profile_url = false;
    }
    $wp_admin_bar->add_group(array('parent' => 'my-account', 'id' => 'user-actions'));
    $user_info = get_avatar($user_id, 64);
    $user_info .= "<span class='display-name'>{$current_user->display_name}</span>";
    if ($current_user->display_name !== $current_user->user_login) {
        $user_info .= "<span class='username'>{$current_user->user_login}</span>";
    }
    $wp_admin_bar->add_node(array('parent' => 'user-actions', 'id' => 'user-info', 'title' => $user_info, 'href' => $profile_url, 'meta' => array('tabindex' => -1)));
    if (false !== $profile_url) {
        $wp_admin_bar->add_node(array('parent' => 'user-actions', 'id' => 'edit-profile', 'title' => __('Edit Profile'), 'href' => $profile_url));
    }
    $wp_admin_bar->add_node(array('parent' => 'user-actions', 'id' => 'logout', 'title' => __('Log Out'), 'href' => wp_logout_url()));
}

WordPress Version: 5.4

/**
 * Add the "My Account" submenu items.
 *
 * @since 3.1.0
 *
 * @param WP_Admin_Bar $wp_admin_bar
 */
function wp_admin_bar_my_account_menu($wp_admin_bar)
{
    $user_id = get_current_user_id();
    $current_user = wp_get_current_user();
    if (!$user_id) {
        return;
    }
    if (current_user_can('read')) {
        $profile_url = get_edit_profile_url($user_id);
    } elseif (is_multisite()) {
        $profile_url = get_dashboard_url($user_id, 'profile.php');
    } else {
        $profile_url = false;
    }
    $wp_admin_bar->add_group(array('parent' => 'my-account', 'id' => 'user-actions'));
    $user_info = get_avatar($user_id, 64);
    $user_info .= "<span class='display-name'>{$current_user->display_name}</span>";
    if ($current_user->display_name !== $current_user->user_login) {
        $user_info .= "<span class='username'>{$current_user->user_login}</span>";
    }
    $wp_admin_bar->add_node(array('parent' => 'user-actions', 'id' => 'user-info', 'title' => $user_info, 'href' => $profile_url, 'meta' => array('tabindex' => -1)));
    if (false !== $profile_url) {
        $wp_admin_bar->add_node(array('parent' => 'user-actions', 'id' => 'edit-profile', 'title' => __('Edit My Profile'), 'href' => $profile_url));
    }
    $wp_admin_bar->add_node(array('parent' => 'user-actions', 'id' => 'logout', 'title' => __('Log Out'), 'href' => wp_logout_url()));
}

WordPress Version: 4.4

/**
 * Add the "My Account" submenu items.
 *
 * @since 3.1.0
 *
 * @param WP_Admin_Bar $wp_admin_bar
 */
function wp_admin_bar_my_account_menu($wp_admin_bar)
{
    $user_id = get_current_user_id();
    $current_user = wp_get_current_user();
    if (!$user_id) {
        return;
    }
    if (current_user_can('read')) {
        $profile_url = get_edit_profile_url($user_id);
    } elseif (is_multisite()) {
        $profile_url = get_dashboard_url($user_id, 'profile.php');
    } else {
        $profile_url = false;
    }
    $wp_admin_bar->add_group(array('parent' => 'my-account', 'id' => 'user-actions'));
    $user_info = get_avatar($user_id, 64);
    $user_info .= "<span class='display-name'>{$current_user->display_name}</span>";
    if ($current_user->display_name !== $current_user->user_login) {
        $user_info .= "<span class='username'>{$current_user->user_login}</span>";
    }
    $wp_admin_bar->add_menu(array('parent' => 'user-actions', 'id' => 'user-info', 'title' => $user_info, 'href' => $profile_url, 'meta' => array('tabindex' => -1)));
    if (false !== $profile_url) {
        $wp_admin_bar->add_menu(array('parent' => 'user-actions', 'id' => 'edit-profile', 'title' => __('Edit My Profile'), 'href' => $profile_url));
    }
    $wp_admin_bar->add_menu(array('parent' => 'user-actions', 'id' => 'logout', 'title' => __('Log Out'), 'href' => wp_logout_url()));
}

WordPress Version: 3.7

/**
 * Add the "My Account" submenu items.
 *
 * @since 3.1.0
 *
 * @param WP_Admin_Bar $wp_admin_bar
 */
function wp_admin_bar_my_account_menu($wp_admin_bar)
{
    $user_id = get_current_user_id();
    $current_user = wp_get_current_user();
    $profile_url = get_edit_profile_url($user_id);
    if (!$user_id) {
        return;
    }
    $wp_admin_bar->add_group(array('parent' => 'my-account', 'id' => 'user-actions'));
    $user_info = get_avatar($user_id, 64);
    $user_info .= "<span class='display-name'>{$current_user->display_name}</span>";
    if ($current_user->display_name !== $current_user->user_login) {
        $user_info .= "<span class='username'>{$current_user->user_login}</span>";
    }
    $wp_admin_bar->add_menu(array('parent' => 'user-actions', 'id' => 'user-info', 'title' => $user_info, 'href' => $profile_url, 'meta' => array('tabindex' => -1)));
    $wp_admin_bar->add_menu(array('parent' => 'user-actions', 'id' => 'edit-profile', 'title' => __('Edit My Profile'), 'href' => $profile_url));
    $wp_admin_bar->add_menu(array('parent' => 'user-actions', 'id' => 'logout', 'title' => __('Log Out'), 'href' => wp_logout_url()));
}