WordPress Development Stack Exchange is a question and answer site for WordPress developers and administrators. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I'm currently wanting to have it so that writers on my site have to have an admin approve their content before it's published, but still be allowed to do other tasks such as uploading images, adding tags, etc, and the wordpress static permission levels are either too restrictive, or let writers publish themselves.

I know on drupal there is an easy way to edit permissions for account types, but I was wondering if there is a way to do the same level of functionality with wordpress at all.

share|improve this question
Check out Members or Role Scoper plugins. – Milo Apr 21 '11 at 23:54
heres a brilliant resource for the info you required. wp roles and capabilities – MartinJJ Apr 22 '11 at 1:04

Plugins that would do this are:

Or you can write it into your theme's functions.php

Personally, I prefer to write it into functions.php rather than install a plugin. It's more secure and typically keeps your site running faster.

share|improve this answer

First, choose one wordpress role your writer'll have : author, contributor, editor... or a custom role.

then customize your chosen role with capacities in your functions.php theme file :

if ( ! function_exists( 'writer_set_roles' ) ):
 function writer_set_roles()
    global $wp_roles;

    // post / page editing

    // appearance

    // sample for plugin caps
    $wp_roles->add_cap('author','NextGEN Gallery overview');
    $wp_roles->add_cap('author','NextGEN Use TinyMCE');
    $wp_roles->add_cap('author','NextGEN Upload images');
    $wp_roles->add_cap('author','NextGEN Manage gallery');
    $wp_roles->add_cap('author','NextGEN Manage others gallery');

add_action( 'after_setup_theme', 'writer_set_roles' );

you should find all capacities in this file : https://github.com/WordPress/WordPress/blob/master/wp-admin/includes/schema.php

or in documentation. https://codex.wordpress.org/Roles_and_Capabilities

share|improve this answer

Your Answer


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.