WordPress Development Stack Exchange is a question and answer site for WordPress developers and administrators. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I was reading an article today and it covered some very valid points on user experience with WordPress. One of its points was that the profile should go under the Dashboard menu. I like this idea but not sure if it could be done.

share|improve this question
Interesting Qs. +1 But please don't forget to make process on your older Qs. Anyway: Basically those are meta boxes, so you could do whatever you want with them. Just take a look inside core into the default dashboard meta boxes. – kaiser Feb 21 '12 at 16:28

You could just write a custom Dashboard Widget:


How to Add Custom Dashboard Widgets in WordPress

In this article we will show you how you can customize dashboard widgets in WordPress.


Dashboard Widgets API

The Dashboard Widgets API (added in WP 2.7) makes it very simple to add new widgets to the administration dashboard. Doing so requires working knowledge of PHP and the WordPress Plugin API, but to plugin or theme authors familiar with hooking actions and filters it only takes a few minutes and can be a great way to make your plugin even more useful.

share|improve this answer

If I understood the Question correctly, you want something like this:

enter image description here

And for that, some manipulation of the global $submenu is necessary:

// Priority 999 == execute this the latest as possible
add_action( 'admin_menu', 'move_profile_submenu_wpse_43053', 999 );

function move_profile_submenu_wpse_43053() 
    global $submenu;

    // Get the key for the submenu Users.php -> Profile.php
    $replace = find_profile_key_wpse_43053( $submenu['users.php'] );

    if( $replace )
        $submenu['index.php'][] = $submenu['users.php'][ $replace ];
        unset( $submenu['users.php'][ $replace ] ); 

function find_profile_key_wpse_43053( $sub_menu )
    foreach( $sub_menu as $key => $value )
        if( in_array( 'profile.php', $value ) )
            return $key;

    return false;
share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.