How to Allow Editors to Add and Manage Properties in WPResidence
By default, WordPress roles like Editor do not have permission to create or manage custom post types such as properties in WPResidence.
If you want Editors (or other roles) to be able to add, edit, publish, or delete properties, you can do this in two ways:
- Using a third‑party role management plugin (recommended for most users)
- Adding a small code snippet in your child theme
This guide explains both methods.
Method 1: Use a Role Management Plugin (Recommended)
The easiest and safest way is to use a role and capability manager plugin.
We recommend the free plugin Members:
https://wordpress.org/plugins/members/
Steps
- Go to Plugins → Add New in your WordPress admin.
- Search for Members and install it.
- Activate the plugin.
- Go to Users → Roles.
- Edit the role you want to modify (for example, Editor).
- In the capabilities list, search for capabilities that start with:
edit_estate_publish_estate_delete_estate_
- Enable the property‑related capabilities, such as:
- edit_estate_properties
- publish_estate_properties
- delete_estate_properties
- edit_published_estate_properties
- Save the role.
After this, users with that role will be able to manage properties in WPResidence.
This method is recommended because:
- No code changes are needed
- You can easily revert changes
- You can visually control all permissions
Method 2: Add Capabilities via Code (Advanced Users)
If you prefer to control this through code, you can add the required capabilities directly to a role.
This should be added only in your child theme.
Step 1: Open your child theme functions.php
Go to:
Appearance → Theme File Editor → functions.php (of the child theme)
Or edit it via FTP.
Step 2: Add the following code
add_action('init', function () {
$role = get_role('editor'); // Change to 'administrator' or another role if needed
if (!$role) return;
$capabilities = array(
'edit_estate_property',
'read_estate_property',
'delete_estate_property',
'edit_estate_properties',
'edit_others_estate_properties',
'publish_estate_properties',
'read_private_estate_properties',
'create_estate_properties',
'delete_estate_properties',
'delete_private_estate_properties',
'delete_published_estate_properties',
'delete_others_estate_properties',
'edit_private_estate_properties',
'edit_published_estate_properties',
);
foreach ($capabilities as $cap) {
$role->add_cap($cap);
}
});
Notes
- This example adds permissions to the Editor role.
- You can change
'editor'to another role, such as:'author''contributor''administrator'
- The code runs on every page load, but WordPress will only add missing capabilities once.
When Should You Use Each Method?
Use the Members plugin if:
- You want a visual interface
- You may need to adjust roles often
- You want the safest approach
Use the code method if:
- You are comfortable editing PHP
- You want full control via code
- You manage roles programmatically
Final Notes
After applying either method:
- Log out and log back in with the affected user
- Go to Properties → Add New
- Check that the user can now create and manage property listings
If the user still cannot add properties, make sure:
- The role was correctly updated
- No security plugin is blocking custom post types
- WPResidence is fully activated and up to date