Back in June of 2010 I debuted a talk at WordCamp Chicago which I updated and shared in September at WordCamp Mid-Atlantic. Aimed at developers, Customizing WordPress Administration offered killer tips for consultants looking to tailor the other end of WordPress for their clients.
At the heart of the talk was a simple Twenty-Ten child theme, with the focal point being a functions.php file loaded to the gills with hooks and functions that customize the branding and administrative experience (available for download here).
I’ve updated the child theme to 1.5; in addition to incorporating some suggestions, I’ve updated some small bits (like removing menu items) to take advantage of new WordPress 3.1 API calls and some other best practices (it now requires WordPress 3.1).
The tips include:
- Adding an admin stylesheet so you can restyle the back end – including the logo!
- Renaming admin items by hooking translation functions (“Posts” became “Articles”)
- Adding an “Admin Lite” role that can manage users, widgets, menus, and plug-ins, but can’t change the theme or settings
- Removing unwanted post meta boxes, widgets, menu items, editor buttons, and more
- Adding additional contextual help – globally and on a screen by screen basis!
- Styling the editor – globally, or unique to each post type!
- Add an ID column to the list of posts
- Add a dashboard widget with your own company’s RSS feed
The functions.php script is commented in detail, so even if you don’t really understand how the code works, you can work some copy and paste magic. This child theme is still completely GPL – I still hope to see these ideas propagate in the community and strengthen WordPress’ reputation as one of the easiest, friendliest content management systems. I do ask that if you use some or all of the code in a theme, that you provide a friendly attribution in the source code to this post and yours truly.
Keep in mind, although this is built as a child theme to Twenty-Ten, the default theme as of WordPress 3.0, it should work with just about any theme. Just edit the style.css and change the parent theme.