Wordpress Dashboard Hack

Software developer/blogger, Angusman has updated his hack to the Wordpress dashboard page. His new version streamlines Wordpress’ functionality, while removing some of the extra stuff that clogs that page by default. I love his new design, but I actually found I missed the news items that used to be there.

Solution; I’ve hacked the hack. I kept his interface, made a few changes in the name of consistency and personal preference, and added a new “News Options” section. The news options allow you to selectively display a simplified version of the community news feeds and/or the Wordpress devblog.

A warning to the impatient, the inclusion of the feeds does add a couple seconds to the initial load of the dashboard page. If you like Angusman’s version because it’s so much faster, you should stay clear of my version for now. But if you just prefer the cleaner, more convenient interface but might like to view the feeds now and then, feel free to take a look. Perhaps someday, I’ll tweak the code so that the feeds are only loaded when you request them. That is, unless someone less lazy than me wants to do it first.

Screenshot 1, Screenshot 2

Dashboard File

17 Responses to “Wordpress Dashboard Hack”

  1. r0x0rz Says:

    things going on with wordpress

    The WP Plugin/Mod Competition is still going on. More information about the competition can be found in the wiki.
    I installed the WP Admin DashBoard Hack V2 ;) ….

  2. Angsuman Chakraborty Says:

    How about fetching the feeds using Ajax? That way the download time is reduced. You still get the feeds you need, if you need it.

    BTW: Check out http://blog.taragana.com/index.php/archive/crossed-100-000-page-impressions-in-last-30-days/

  3. squeg Says:

    Thank you for the compliment!

    Ajax has definitely crossed my mind. It’s getting plenty of hype these days and it should make a pretty easy project for figuring things out. But since it is such a simple application that seems a bit like overkill.

    Even now, with the dynamic code, the back button is broken in everything but opera. I might just go with a page reload so that I can force it to work more reliably.

    Then again, I could probably just forcibly insert a “target=_blank” into all the feed links so that the back button wasn’t an issue. We’ll see.

  4. jason Says:

    very nicely done. much, much better than the original dashboad.

  5. arongahagan Says:

    Wow! This is great! Just what I was looking for. Thanks so much!

  6. Ensellitis Says:

    Thank you for this, I loved the original, but I wanted to still be able to see the feeds on demand, and you did it. =)

    However I am using ColdForged paged comment editing plugin, so I had to replace all instances of edit-comments.php in your hack to admin.php?page=edit-comments-full.php, no big deal, but I thought I would post this for anyone else who has it.

  7. squeg Says:

    Ensellitis,

    Thanks for the tip. I’d looked at the paged comment plugin in the past but never installed it. It looks like good stuff, so I appreciate knowing what might need to be changed.

    If I stumble upon a reason to make some additions to the hack, I’ll see if I can’t do something so you don’t have to manually replace each place the edit path included.

  8. justine Says:

    Very nice. Thank you.

  9. chipped. » wordpress - Admin Dashboard Says:

    […] in Dashboard

    Just uploaded a new admin index.php from squeg.com who hacked a hack originally from targana.com. I liked having the pos […]

  10. Dusty Dreams Blog » Archive » Some adjustments… Says:

    […] d so on. Also done some stuff behind the scenes: Using a different admin panel thanks to Squeg.com. Tags: spam, wordpress, css, plugins

    […]

  11. Marcel Touma Says:

    Thanks for the hack! But I had to hack the hacked hack! wow! :)

    Well, because I moderate all my blog, I put an “Other Drafts” section below Drafts section.

    Simple put this div below the Drafts div

    get_col(”SELECT ID FROM $wpdb->users WHERE user_level get_results(”SELECT ID, post_title FROM $wpdb->posts WHERE post_status = ‘draft’ AND post_author IN ($editable) “);
    }
    } else {
    $other_drafts = false;
    }

    $drafts = $wpdb->get_results(”SELECT ID, post_title FROM $wpdb->posts WHERE post_status = ‘draft’ AND post_author = $user_ID”);
    if ($other_drafts){
    ?>

    post_title = stripslashes($draft->post_title);
    if ($draft->post_title == ‘’)
    $draft->post_title = sprintf(__(’Post #%s’), $draft->ID);
    echo “ID’ title=’” . __(’Edit this draft’) . “‘>$draft->post_title“;
    ++$i;
    }
    ?>

  12. Marcel Touma Says:

    ups… it does not show html tags… :(

  13. Marcel Touma Says:

    the right is:
    <

  14. Marcel Touma Says:

    <div id="drafts">

    <?php

    get_currentuserinfo();

    if (1 < $user_level) {

    $editable = $wpdb->get_col("SELECT ID FROM $wpdb->users WHERE user_level <= ‘$user_level’ AND ID != $user_ID");

    if( is_array( $editable ) == false ){

    $other_drafts = ‘’;

    }else{

    $editable = join(’,', $editable);

    $other_drafts = $wpdb->get_results("SELECT ID, post_title FROM $wpdb->posts WHERE post_status = ‘draft’ AND post_author IN ($editable) ");

    }

    } else {

    $other_drafts = false;

    }

    $drafts = $wpdb->get_results("SELECT ID, post_title FROM $wpdb->posts WHERE post_status = ‘draft’ AND post_author = $user_ID");

    if ($other_drafts){

    ?>

    <h3><?php _e(’Other Drafts’); ?></h3>

    <ul>

    <?php

    foreach ($other_drafts as $draft) {

    $draft->post_title = stripslashes($draft->post_title);

    if ($draft->post_title == ‘’)

    $draft->post_title = sprintf(__(’Post #%s’), $draft->ID);

    echo "<li><a href=’post.php?action=edit&amp;post=$draft->ID’ title=’" . __(’Edit this draft’) . "’>$draft->post_title</a></li>";

    ++$i;

    }

    ?>

    </ul>

    <?php

    }

    ?>

    </div>

  15. Ingrid Says:

    A very nice hack - thank you !

  16. Avid Says:

    Weird, I did try to use your hack but the results still the same >> blank!

  17. squeg Says:

    Weird, I did try to use your hack but the results still the same >> blank!

    I’m not sure what you mean. It sounds like you were having trouble with the dashboard before installing this as well, so you are probably experiencing some other problem.

    It’s also my understanding that there have been significant changs made to the admin interface for wordpress 2.0. I have not had the opportunity to take a look at it, but it is quite possible that these changes won’t be compatible with the new admin engine.