customizing wp-admin for clients
presented by @noeltock for #wcnl
why customize?
Step#1  Keep it Lean
Lean Admin. 

Admin.

Author.

Modified Author.
(user role, dashboard & redirect)

Lean Admin.  Modifying User Roles.
function change_author_cap() {

    $role = get_role('author');
    $role->remove_cap('edit_published_posts');
    $role->remove_cap('publish_posts');
    $role->remove_cap('delete_published_posts');
    $role->remove_cap('edit_posts');
    $role->remove_cap('delete_posts');
    $role->remove_cap('upload_files');
    $role->add_cap('edit_pages');
    $role->add_cap('edit_others_pages');
    $role->add_cap('edit_published_pages');
    $role->add_cap('publish_pages');
    $role->add_cap('delete_pages');
    $role->add_cap('delete_others_pages');
    $role->add_cap('delete_published_pages');

}

add_action('admin_init', 'change_author_cap');

You can easily change the permissions of user roles to fit your needs.

Note that by making such a change, it is saved to the database ( wp_options -> wp_user_roles ). To undo it, simply reverse the functions for adding and removing capabilities.

Lean Admin. Modifying Redirect & Dashboard.
function change_landing() {

    return admin_url('edit.php?post_type=page');

}

add_filter('login_redirect', 'change_landing');

This filter will change the landing page after a sucessful login. Pick what is most relevant to your client.

function remove_dashboard() {

    remove_menu_page('index.php');
    remove_menu_page('separator1');

}

add_action('admin_menu', 'remove_dashboard');

If the dashboard isn't beneficial to your client, remove it.

Lean Admin.  New Dashboard.
function custom_dashboard() {

        ?>

        oh hai #wcnl

        <?php

}

function new_dashboard() {

    remove_menu_page( 'index.php' );
    add_menu_page( 'Dashboard', 'Dashboard',
    'edit_pages', 'custom_dashboard',
    'custom_dashboard', null, 1 );

}

add_action( 'admin_menu', 'new_dashboard');


Create your own Dashboard by removing the old and then adding a new page.

Make sure that you add your own icon (where 'null' currently is) as well as redirect to the new dashboard page (in this case it would be 'admin.php?page=custom_dashboard').

Lean Admin.  Case Study - happytables.

Simple.

Advanced.

Step#2  Productivity
productivity.  One size does not fit all.
productivity.  Focused on Workflow.
productivity.  Case Study - happytables.
Step#3  Perception
perception.  no wp-admin?
Questions?

blog comments powered by Disqus
Useful Links:
Thanks to @nacin & @kyletheisen for having a look at the slides before the presentation, much appreciated