Take the 2-minute tour ×
WordPress Development Stack Exchange is a question and answer site for WordPress developers and administrators. It's 100% free, no registration required.

The Back-end of Wordpress is nice, but I would like to customize the UI to some degree. My goal is to make the user experience REALLY simple for untrained users. I suspect plugins exist for this, but I thought I would ask the experts of Stack Exchange, before chasing any ideas down potentially deep rabbit holes. So, what is the preferred method of UI customization in wordpress?

share|improve this question
1  
That's a very vague question and I don't think anyone here can answer with the (lack of) information provided. What aspect of the UI are you looking to customize, specifically? Which areas, which pages, what actions? That said, speaking for myself, one of the main reasons why I started using WordPress as a CMS is because of how dead-simple the UI is for untrained users. Don't underestimate the WordPress UI, it's a well-oiled machine used by millions of users, many of whom are far less trained than yours. –  Matthew Boynes Mar 4 '13 at 16:48
    
@MatthewBoynes The WP admin back-end has a very poor accessibility, improvements are always useful and often needed. Asking how to fix it with your own code is exactly the constructive approach we need here. –  toscho Mar 4 '13 at 18:39
    
@toscho I don't disagree that this isn't constructive, so I didn't flag it as such. My comment was primarily intended to get OP to add more detail about what they want to customize. You assume that OP wants to re-skin the admin, which may be the case, but perhaps they just want to hide navigation elements or get rid of meta boxes on editing pages. Or maybe, and I really do hope, add pictures of cats. –  Matthew Boynes Mar 4 '13 at 18:56
    
Thanks for all the feed back. I feel that the back-end of WP assumes a certain amount of knowledge from it's users. This assumption is fine, when the developer is the user, or the user is simply updating their hosted blog, but I am the admin for a site which will soon have many users, each user will have their own questions. So stripping down un-needed controls is my goal. –  GRY Mar 4 '13 at 19:12

1 Answer 1

up vote 1 down vote accepted

You will need an Admin Theme. Despite its name, this should be implemented as a plugin.

Here is a basic plugin file:

<?php  # -*- coding: utf-8 -*-
/**
 * Plugin Name: T5 Admin Theme
 */

add_action( 'admin_init', 't5_admin_theme_init', 11 );

function t5_admin_theme_init()
{
    $settings = new stdClass;
    $settings->name   = 'Clean';
    $settings->url    = plugins_url( 'clean.css', __FILE__ );
    $settings->colors = array ( '#333', '#951', '#159', '#eee' );

    $GLOBALS['_wp_admin_css_colors']['clean'] = $settings;
}

As you can see, you should populate the global variable $_wp_admin_css_colors very early with an object. The three parameters are name, colors (both visible for the user in her profile page) and the URL to the stylesheet, the next file in your plugin’s directory.

Once activated, you get a very … clean admin area.

enter image description here

The file clean.css needs some content. Here you are free to add whatever you want. Be aware the basic admin styles are loaded too, so you will have to use !important in unhealthy doses like in this example:

/* readable font sizes */
body,
p.help, 
p.description, 
span.description, 
.form-wrap p,
input,
select,
option,
label
{
    font-size: 15px !important;
}

Tung Do has published a useful checklist for admin theme developers recently. Read that and use your browser’s DOM inspector to find the matching selectors.

You can also enqueue additional scripts, change content with filters … but I recommend not to change too much, focus on styling.

share|improve this answer

Your Answer

 
discard

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.