User Role Editor WordPress plugin

User Role Editor WordPress plugin

User Role Editor

User Role Editor WordPress plugin allows you to change standard WordPress user roles capabilities with easiness of a few mouse clicks. Just turn on check boxes of capabilities you wish to add to the selected role and click “Update” button to save your changes. That’s done. Add and tune your own custom roles which you can assign to the users then. You can create new role as a copy of existing one. Delete self-made roles. Change defaul user role.
Multi-site support is provided.
Why it could be necessary? Let’s suppose you wish that your multi-authored blog contributors upload their own graphics to use in their posts. WordPress “contributor” role has no such capability by default. In such situation you have needed to change user role capabilities manually using SQL client as I described at “How to change wordpress user role capabilities” post, if you have enough knowledge in that field. But what to do if you have not? Good news – This task is simple now, just use the “User Role Editor” plugin :) .

Version 3.4 is available. Click the Download button below if you wish to try it.
download

Take a look at the “User Role Editor” plugin main form screenshot:
User Role Editor main form

  • Select a role you wish to change from the drop down list at the top. Page will be refreshed automatically and show you the capabilities list for the selected role. Make your corrections, check/uncheck correspondent check boxes and click “Update” button to save your changes. If you wish to apply this change for all sites of your multi-site WordPress network, turn on “Apply to All Sites” check box at the top of the form.
  • If you prefer to see capabilities names in form e.g. ‘Edit pages’ instead of WordPress ‘edit_pages’ standard form turn on the “Show capabilities in human readable form” checkbox at the right top corner of the main form. Move mouse over capability name and you will see its alternative form name.
  • According to WordPress Codex User Levels were introduced in WordPress 1.5, they were replaced by Roles and Capabilities in WordPress 2.0, and were finaly deprecated in WordPress 3.0. Thus you can hide them in order they do not mess you in your work with roles. Keep “Show deprecated capabilities” check box at the to right corner of the form unchecked for that. If for any reason you need to see user levels, turn on that check box.
  • If you don’t wish to save changes you can click “Cancel” button.
  • If you are needed to restore roles capabilities you have before 1st visit “User Role Editor” main form, use “Reset” button.
    When you you open this form 1st time, plugin checks if backup copy of roles and capabilities exists. If it doesn’t, plugin creates backup copy automatically. Thus, when you some day click the Reset button plugin uses the previously saved role data backup copy to restore it. Be very careful with this operation as you will definitely lose any changes you or your plugins made to user roles from that time.

In order to add/remove your custom role, change default role for new user, add/remove custom user capability use “User Role Editor” management boxes, look on screenshot below:
User Role Editor custom roles and capabilities management boxes

  • If you need your own custom role, create it with “Add New Role” feature. Input new role name into input text field at “Add New Role” box, select existing role from drop-down list if you wish to use its capabilities as starting point for further work and click “Add” button. Remember that you can use latin letters, digits and an “_” underscore sign in your role names. Subscriber role is copied by default if you don’t select such role yourself.
  • Unnecessary self-made role can be deleted with “Delete Role” box. Select role and click “Delete” button for it. Only your self-made roles appears in the role list to delete. If some of your own roles is assigne to the user or selected as default role for new users it will not be appeared in the list for deletion.
  • Select the role which you wish to use as default for any new created user from the list at “Default Role for New User” box. Click “Change” button to save your changes.
  • Use “Add New Capability” box in order to add new user capability. Remember you can use only latin alphabet letters, digits and underscore sign in the capability name. How to use new added user capability? Turn it on in the role you select and check if current user has such capability in your plugin or active theme functions.php file. For example,
     if (!current_user_can('some_capability_you_added')) {
       echo "You don't have permission for it!";
       return;
    }
  • If you need delete custom capability added by you or some of your old plugins, which you don’t use anymore use “Delete Capability” box. “User Role Editor” doesn’t allow to delete built-in WordPress capabilities.

With help of “User Role Editor” you can assign additional capabilities directly to the users. Open users list by click on the “All Users” link at the “Users” submenu. Find needed user, move mouse pointer to his name and click “Capabilities” link as on screenshot below:
User Capabilities Editor link
At the form opened you can assign to user another role and/or add to him capabilities which not included to his role:
Change User Capabilities
You can not turn off capabilities included to the role assigned to this user. You can add/remove other capabilities. They will be applied directly to the user as you click the “Update” button. If you wish to built a fully custom capabilities set for this user, without limitation of any role, select “No role for this site” from drop-down list at the top and make it.

For more information about WordPress user roles please read these articles
- WordPress Admin Menu Permissions;
- WordPress user capabilities;
- activate_plugins WordPress user capability;
- edit_dashboard WordPress user capability;
- moderate_comments WordPress user capability;
- ;
- Roles and Capabilities article at codex.wordpress.org;

Translations

Русская версия этой статьи доступна по адресу ru.shinephp.com

All other translations listed below are outdated and need to be updated. It’s very simple to get link to your site from this page – just update your native language translation file and send it to me. You are welcome!

Dear plugin User,
if you wish to help me with this plugin translation I very appreciate it. Please contact me via Contact form and I will answer you by email. Do not forget include your site link in order I can show it with greetings for the translation help at shinephp.com, plugin settings page and in this readme.txt file. If you have better translation for some phrases send it to me. You are welcome!
Former translators! Please check your translations and provide the updated files corresponding to the current version of URE plugin.

Special Thanks to

  • Lorenzo Nicoletti – for the code enhancement suggestion CUSTOM_USER_META_TABLE constant is used now for more compatibility with core WordPress API.
  • Marcin – For the code enhancement. This contribution allows to not lose new custom capability if it is added to other than ‘Administrator’ role.
  • FullThrottle – for the code to hide administrator role at admin backend.

You are welcome! Help me with bugs catching, share with me new ideas about plugin further development and link to your site will appear above.

People who donated for this plugin developement

Change Log

  • 3.4 = 21.01.2012
    - You can see/edit “Administrator” role now. Insert this line of code

      define('URE_SHOW_ADMIN_ROLE', 1);

    into your wp-config.php file and login with administrator account for that.
    If for any reason your Administrator role missed some capabilities added by plugins or themes, you can fix that now. But be careful with changing “Administrator” role, do not turn off accidentally some critical capabilities to not block your admin users.

  • 3.3.3 = 11.01.2012
    - Spanish (Dario) and Swedish (Andréas) translations update.
  • 3.3.2 = 02.01.2012
    - Enhance server side validation for user input of new role name, minor bug fixes.
  • 3.3.1 = 12.12.2011
    - Compatibility with Internet Explorer fix: It automatically replaced ‘&copy’ in ‘&copy_from_user_role’ URL parameter inside JavaScript code to copyright sign.So I should use other name for this parameter. Thanks to Michael Wiekenberg for the help with isolating this issue.
  • 3.3 = 10.12.2011
    - New role can be created as a copy of other existing one.
    - You can hide/show deprecated capabilties (level_1 – level_10).
    - Users with “Administrator” role are not shown to other users with “list_users” capability.
    - Plugin data cleanup is added – plugin options will be automatically deleted if you delete plugin via WordPress link.
    - Some code enhancements are applied, e.g. optimization and using of WordPress API instead of self-written routine.
  • 3.2.1 = 01.08.2011
    - This is a bug-fix update. If you didn’t met this bug you can skip this update. “usermeta” table doesn’t exist bug appearing on some multi-site blogs is fixed. Read [this post](http://wordpress.org/support/topic/multisite-setup-gives-usermeta-table-error) for more information. Thanks to harpinder for discovering this bug and for the help with testing updated code. “usermeta” Db table name is define by more universal way now.
  • 3.2 = 25.07.2011
    - If you run multi-site WordPress network, User Role Editor will automatically duplicate all roles from the main blog (blog with mininal ID) to every new created blog.
    - Some fixes, refactoring and logic change were applied to code to enhance its productivity. There were some complaints for PHP timeout error after trying to open plugin Settings page.
    - Thanks to Grant Norwood for code fix to hide PHP warnings he met during plugin usage.
    - Hebrew translation is added. Thanks to Sagive.
    - French translation is updated. Thanks to Whiler.
    - Japan translation is updated. Thanks to Kaz.
    - Spanish translation is updated. Thanks to Dario.
  • 3.1.1 = 07.07.2011
    - CUSTOM_USER_META_TABLE constant is used now for more compatibility with core WordPress API. Thanks to Lorenzo Nicoletti.
    - Turkish translation is updated. Thanks to Muhammed YILDIRIM. Other language translators are welcome!
  • 3.1 = 03.06.2011
    - Add/Remove capability boxes are added to the User Role Editor
    - Capabilities could be assigned directly to the user, additionally to the assigned role
    - PHP4 is not supported by this plugin anymore. Update your site to PHP5 in order to use this plugin and near to release WordPress 3.2 :)
    - Minor compatibility issues with other plugins were fixed

Click here to get full list of User Role Editor updates.

FAQ

- Does it work in multi-site environment?
Yes, it works with multi-site installation. By default plugin works for every blog from your multi-site network as for locally installed blog without multi-site feature.

URE Multi-site feature

URE Multi-site feature


To update selected role globally for all Network you should turn on the “Apply to All Sites” checkbox.

- How to duplicate my custom created roles from main blog of my multi-site network to new created one?
“User Role Editor” makes it for you automatically. As new blog added to your network, “User Role Editor” copies full roles staff from your main blog to the new created one.

- How to edit “Administrator” role? I don’t see it in the roles drop down list.
“Administrator” role is hidden from the roles drop down list by default.
You can see/edit “Administrator” role starting from version 3.4. Insert this line of code

  define('URE_SHOW_ADMIN_ROLE', 1);

into your wp-config.php file and login with administrator account for that.
If for any reason your “Administrator” role missed some capabilities added by plugins or themes, you can fix that now. But be careful with changing “Administrator” role, do not turn off accidentally some critical capabilities to not block your admin users.

- Does it work with WordPress versions prior 3.0?
Starting from version 2.2 plugin works with WordPress 3.0 and higher only. For earlier WordPress versions use plugin version 2.1.10

download

I am ready to answer on your questions about this plugin usage and help with possible problems. Use User Role Editor plugin forum or this page comments and site contact form for that please.

Thanks,
Vladimir ShinePHP.com

The testking offers guaranteed testking VCP-410 training with best quality testking 350-001 braindumps and testking 70-680 practice exam.

Tags: WordPress, wordpress plugin

  • Sean Norton

    Hi, is there a way for me to allow a user to edit a published page without allowing them to publish the changes until the edits have been reviewed?

  • http://shinephp.com Vladimir Garagulya

    Find that user in the user list and look for the “Capabilities” link under his name. You can add new capabilities directly to this user their.

  • http://shinephp.com Vladimir Garagulya

    Look this short video, it should help:
    http://youtu.be/ytEldoENpdM

  • Sean Norton

    Thanks, Vladimir. Which file should I add this function to?

  • http://shinephp.com Vladimir Garagulya

    Put that code into your theme functions.php file.

  • http://shinephp.com Vladimir Garagulya

    No problem :) , you are welcome.

  • Sean Norton

    That doesn’t seem to have worked. I edited the theme functions.php by adding

    function published_to_pending($post_id) {
    global $post;
    if(current_user_can('author') && $post->post_status=='publish'){
    remove_action('save_post','published_to_pending');
    //update the post, which calls save post again
    wp_update_post(array('ID'=> $post_id, 'post_status' =>'pending'));
    //re-hook this function   add_action('save_post','published_to_pending');
    }
    }
    
    add_action('save_post','published_to_pending');

    and cleared my cache, etc… the only thing that it appears to have done is remove the ‘Published on’ information. I made an edit to the page with a test account that does not have publish_page capability and was still able to make changes to the page and publish.

  • http://shinephp.com Vladimir Garagulya

    Please check last line inside function, is add_action() placed on the commented line? It should be placed on the new line without comment // sign.

  • http://shinephp.com Vladimir Garagulya

  • Sean Norton

    Strange… there must be something prohibiting this from working. I’ve added the above code to my functions.php file for the theme and the only change that takes place in the page editor is that the “Published On” Information has been removed. My user has the following capabilities:

    delete_posts, edit_others_pages, edit_others_posts, edit_pages, edit_posts, edit_published_pages, read, upload_files
    
  • http://shinephp.com Vladimir Garagulya

    Please confirm or reject my guess:
    Code above work for the users with ‘author’ role only. Do you remember
    if (current_user_can('author') ... ?
    Has user, which you try, the ‘author’ role or may be someone with other name?

  • Sean Norton

    Ah, you’re right: I had created a custom user role based on Author but named something else. That fixed the “Submit for Review” issue and is now working as you demonstrated.

    However, even though the page is now in a “Pending” state, the changes are still getting published to the live page.

    Your assistance and patience are much appreciated, Vladimir.

  • http://shinephp.com Vladimir Garagulya

    You are welcome. About changes showing to the live page. As it could be useful for other WordPress users, I published this post with workaround for this issue:
    http://www.shinephp.com/wordpress-shows-unpublished-pages/

  • Anonymous

    Hello Vladimir. Again thank you for this plugin and for for adding the multi-site feature. Now that I am using WordPress 3.3, when trying to apply to all sites, it does finish all the way through. Have you come across this yet? If so, is there a fix? Thanks.

  • http://shinephp.com Vladimir Garagulya

    Hello,

    No, it is a first note about trouble with multi-site support for WP 3.3. Can you give me more details about what is going wrong?

    Regards,
    Vladimir.

  • Anonymous

    I created a screencast to better show what is happening. After it finishes, it comes back with a white area instead of showing the form again. Also, I should note that there are over 1100 blogs on this site: http://www.screencast-o-matic.com/watch/clnn2n4Vo

  • http://shinephp.com Vladimir Garagulya

    The last info about 1100 blogs in one network is critical. It seems that you just met PHP script execution timeout, that’s why you got empty page, and role change is applied to not all sites of course. There is not update for this problem for this moment.
    Thanks for the information about using URE plugin in so large environment.
    I will think, how to overcome this problem and publish update as it will be ready.

  • http://www.boardirectory.org/ Board Directory

    Hello,

    I love this plugin and been using it for sometime now, I hope you continue to work on it!

  • http://shinephp.com Vladimir Garagulya

    Hello,
    I confirm your hope. I will continue this work, and I’m open for suggestions how to enhance User Role Editor.