Admin.
Author.
Modified Author.
(user role, dashboard & redirect)
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.
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.
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').
Simple.
Advanced.