After launching a WordPress 3, WordPress can definitely claim to be most used CMS to manage website and blog contents. While its still not as complete CMS as some of the other great CMS, but WordPress is definitely most widely used Content Management System today.
And many web masters use WordPress as CMS to provide easy to manage CMS to their clients. We use WordPress for our clients too. And while we do offer some of them an Admin user, to others we offer editor user. Because, sometimes its dangerous to play with admin user, when your clients does not fully understand WordPress or are web novices.. they can easily mess up the website under Admin level.
But to manage website efficiently using editor role, client needs to manage Menu (WordPress Menu) to be able to modify the navigation, as well as update Widget. Using normal editor role, they are not presented with Appearance section of the WordPress administrator panel.
So what we want is to allow editor to manage menu, widget, background colors from their editor login. While this is not presented by default to the editor, we can change this with a simple following code.
Following code will allow the Editor role access to: Menus, Theme Options (but will not be able to switch, add or edit themes), Background (3.0+), Header (3.0+) and Widgets.
// get the the role object $role_object = get_role( 'editor' ); // add $cap capability to this role object $role_object->add_cap( 'edit_theme_options' );
You need to add above code into your theme function.php file.
While you don’t always require to allow editor to manage these functions, you can add above code only for those clients where you are offering them editor login to manage their contents and site.