Why Your Custom Post Types Don't Show in Members Plugin (And How To Fix It)
Content
If you're using the 'Members – Membership & User Role Editor Plugin' and your custom post types (CPTs) aren't appearing in the role editor, you're not alone. This is a common point of confusion that stems from how WordPress handles capabilities for custom content. This guide will explain why this happens and walk you through the most effective solutions.
The Core Issue: Capability Registration
The Members plugin dynamically reads and displays capabilities that exist within your WordPress installation. It does not automatically create capabilities for every custom post type. For a CPT to appear as a dedicated, nicely-formatted section in the role editor (like 'Posts' or 'Pages'), it must be registered with its own unique set of capabilities.
Many plugins and methods for creating CPTs (like ACF Pro, Pods, or manual code) do not define a custom capability_type by default. Instead, they often fall back to the standard 'post' capabilities (edit_posts, publish_posts, etc.). Since these are generic post capabilities, Members has no way to distinguish them for your specific CPT.
How to Fix It: The Two Main Solutions
Solution 1: Modify Your CPT Registration Code (For Programmatically Created CPTs)
If you registered your CPT in your theme's functions.php file or a custom plugin, you need to add two key arguments to the $args array when using register_post_type().
$args = array(
// ... your other arguments ...
'capability_type' => 'event', // Singular name of your CPT
'map_meta_cap' => true, // Crucial for enforcing meta capabilities
);
register_post_type( 'event', $args );
What this does: The capability_type argument tells WordPress to create unique capabilities for this post type (e.g., edit_events, publish_events, delete_events). The map_meta_cap argument enables WordPress to correctly map high-level permissions (like 'edit_post') to these new primitive capabilities.
After adding this code and refreshing your site, the new capabilities will be generated. You should then see a new section for your CPT (e.g., 'Events') in the Members role editor.
Solution 2: Use the Built-in Feature in Your CPT Plugin
Many popular CPT creation tools have an option to enable custom capabilities.
- Advanced Custom Fields (ACF) Pro: When creating or editing a post type in ACF, navigate to the 'Permissions' tab and enable the 'Rename Capabilities' option. This will automatically generate the necessary custom capabilities for you.
- Pods: Ensure that your pod is configured to use its own capabilities rather than the default WordPress ones. The interface for this may vary depending on your Pods version.
After enabling this option in your respective plugin, the capabilities will be created, and the CPT should appear in the Members interface after a page refresh.
Troubleshooting Other Common Scenarios
- Taxonomies Not Visible: The ability to assign terms from a custom taxonomy often requires the
manage_categoriescapability by default. If a user role cannot assign terms, check that this capability (or a custom one defined by the taxonomy) is granted. - Admin Menu Issues: If a user with multiple roles can't see a specific CPT admin menu item, it's often a conflict with another plugin or theme that manages admin menus. A standard troubleshooting step is to disable all other plugins temporarily to identify the conflict.
- Content Shows a 404 Instead of a Restriction Message: This can sometimes be caused by aggressive caching. Clear your site's cache (both plugin and server-level) to see if that resolves the issue.
When These Solutions Don't Apply
It's important to note that the Members plugin controls access based on capabilities, not directly on post types. Some plugins do not create their own capabilities and instead rely on native administrator-level capabilities like manage_options. In these cases, you cannot restrict access to that plugin's features without also granting powerful administrator privileges. For such plugins, your best course of action is to contact the plugin's author and request they implement custom capabilities for better access control.
By ensuring your custom post types are registered with their own capabilities, you unlock the full potential of the Members plugin for managing access to your site's unique content.
Related Support Threads Support
-
Is this not compatible with JetEngine custom posts?https://wordpress.org/support/topic/is-this-not-compatible-with-jetengine-custom-posts/
-
How to make a list of blog posts filtered by user rolehttps://wordpress.org/support/topic/how-to-make-a-list-of-blog-posts-filtered-by-user-role/
-
Restrict content metabox for CPT UI custom post typehttps://wordpress.org/support/topic/restrict-content-metabox-for-cpt-ui-custom-post-type/
-
Can’t add or edit custom post type with custom capabilityhttps://wordpress.org/support/topic/cant-add-or-edit-custom-post-type-with-custom-capability/
-
Add filter for roles in content permissions meta boxhttps://wordpress.org/support/topic/add-filter-for-roles-in-content-permissions-meta-box/
-
Category and Tag Caps usagehttps://wordpress.org/support/topic/category-and-tag-caps-usage/
-
Is there no Custom Post Types support?https://wordpress.org/support/topic/is-there-no-custom-post-types-support/
-
How to create permissions for specific CPThttps://wordpress.org/support/topic/how-to-create-permissions-for-specific-cpt/
-
divi edit role error $post non objecthttps://wordpress.org/support/topic/divi-edit-role-error-post-non-object/
-
Compatibility with Custom Post Type UI 1.8.2https://wordpress.org/support/topic/compatibility-with-custom-post-type-ui-1-8-2/
-
Allow to see and edit in admin only assigned postshttps://wordpress.org/support/topic/allow-to-see-and-edit-in-admin-only-assigned-posts/
-
Auto assign permissions to new CPT postshttps://wordpress.org/support/topic/auto-assign-permissions-to-new-cpt-posts/
-
One CPT displays 404 instead of Restricted Content messagehttps://wordpress.org/support/topic/one-cpt-displays-404-instead-of-restricted-content-message/
-
Role not seeing custom taxonomyhttps://wordpress.org/support/topic/role-not-seeing-custom-taxonomy/
-
Cannot select categoryhttps://wordpress.org/support/topic/cannot-select-category/
-
User with multiple roles hides the edit.php menu itemhttps://wordpress.org/support/topic/user-with-multiple-roles-hides-the-edit-php-menu-item/
-
hide other post -CTPhttps://wordpress.org/support/topic/hide-other-post-ctp/
-
Posting and editing in defined categories with user groupshttps://wordpress.org/support/topic/posting-and-editing-in-defined-categories-with-user-groups/
-
Change default roles assigned to post typehttps://wordpress.org/support/topic/change-default-roles-assigned-to-post-type/
-
CPT Permissions with Membershttps://wordpress.org/support/topic/cpt-permissions-with-members/
-
Block The Events Calendar Events from Logged Out Usershttps://wordpress.org/support/topic/block-the-events-calendar-events-from-logged-out-users/
-
Custom Post Type permissions – PODShttps://wordpress.org/support/topic/custom-post-type-permissions-pods/
-
Protect/Restrict Custom Post Type to role by defaulthttps://wordpress.org/support/topic/protect-restrict-custom-post-type-to-role-by-default/
-
User role to view specific postshttps://wordpress.org/support/topic/user-role-to-view-specific-posts/
-
Can’t edit custom post type categories if “Edit posts” not enabledhttps://wordpress.org/support/topic/cant-edit-custom-post-type-categories-if-edit-posts-not-enabled/
-
Integration with plugin that has custom post typehttps://wordpress.org/support/topic/integration-with-plugin-that-has-custom-post-type/
-
Allow only custom post types to a rolehttps://wordpress.org/support/topic/allow-only-custom-post-types-to-a-role/
-
Specified access role for custom content and it’s still showing to the public?https://wordpress.org/support/topic/specified-access-role-for-custom-content-and-its-still-showing-to-the-public/
-
Restricting / allowing the assignment of Custom Taxonomieshttps://wordpress.org/support/topic/restricting-allowing-the-assignment-of-custom-taxonomies/
-
Restrict content capabilityhttps://wordpress.org/support/topic/restrict-content-capability/
-
Globally filter custom post types by current user roleshttps://wordpress.org/support/topic/globally-filter-custom-post-types-by-current-user-roles/
-
Permission for tribe_rsvp_tickets post typehttps://wordpress.org/support/topic/permission-for-tribe_rsvp_tickets-post-type/
-
Custom Post Type Not Showinghttps://wordpress.org/support/topic/custom-post-type-not-showing-5/
-
custom post type (CPT)https://wordpress.org/support/topic/custom-post-type-cpt/
-
Scheduled/”future” post role?https://wordpress.org/support/topic/scheduled-future-post-role/
-
Can’t see Custom Post Type permissionshttps://wordpress.org/support/topic/cant-see-custom-post-type-permissions/
-
How to restrict create/edit access for CPTs created by pluginshttps://wordpress.org/support/topic/how-to-restrict-create-edit-access-for-cpts-created-by-plugins/
-
How to filter Custom Posts Types by Roleahttps://wordpress.org/support/topic/how-to-filter-custom-posts-types-by-rolea/
-
How to Use Members Plugin Without Modifying functions.phphttps://wordpress.org/support/topic/how-to-use-members-plugin-without-modifying-functions-php/
-
Allow edit own posts, but deny create postshttps://wordpress.org/support/topic/allow-edit-own-posts-but-deny-create-posts/
-
Custom Post Type Authorhttps://wordpress.org/support/topic/custom-post-type-author-2/
-
Custom post type and single_templatehttps://wordpress.org/support/topic/custom-post-type-and-single_template/
-
Specific roles in “Content Permissions” meta box on the post editing screenhttps://wordpress.org/support/topic/specific-roles-in-content-permissions-meta-box-on-the-post-editing-screen/
-
Restrict access to post type by defaulthttps://wordpress.org/support/topic/restrict-access-to-post-type-by-default/
-
Members restrictions not working with custom postshttps://wordpress.org/support/topic/members-restrictions-not-working-with-custom-posts/
-
Edit_post reveals EVERYONE’S postshttps://wordpress.org/support/topic/edit_post-reveals-everyones-posts/
-
Get a blank screen when I add a custom posthttps://wordpress.org/support/topic/get-a-blank-screen-when-i-add-a-custom-post/
-
New user role cannot access dashboard?https://wordpress.org/support/topic/new-user-role-cannot-access-dashboard-2/
-
Role can’t assign custom taxonomyhttps://wordpress.org/support/topic/role-cant-assign-custom-taxonomy/
-
Add content permissions post/meta box to CPThttps://wordpress.org/support/topic/add-content-permissions-post-meta-box-to-cpt/