Table of Contents
If users are seeing “Permission Denied” or are unable to view/post in the forum, follow these steps to diagnose the issue.
1. Check Administrator Access #
First, verify that administrators can see the content.
- Rule: Users with the
manage_optionscapability (typically Administrators) bypass all forum-specific permission checks. - Test: If an administrator cannot see the content, the issue is likely a Routing/404 issue or the content does not exist, rather than a permission problem.
2. Verify Role Mapping #
The forum uses “Access Sets” (Standard User, Moderator, Read Only) which must be mapped to WordPress Roles.
- Check Settings: Go to GravityOps > Forum > Access.
- Identify the User’s Role: Verify the WordPress Role of the affected user (e.g., “Subscriber”, “Contributor”).
- Mapping: Ensure that the user’s role is listed under the correct Access Set.
- Fail-Closed Behavior: If a WordPress role is not mapped to any Access Set, that user will have no access to restricted forums.
3. Check Forum Access Settings #
Each forum can be assigned a specific Access Set.
- Check Forum Configuration: Go to GravityOps > Forum > Forums and click “Edit” on the affected forum.
- Access Set Field: Ensure an Access Set is selected.
- Default Behavior: If no Access Set is selected for a forum, the plugin defaults to “fail-closed,” meaning only Administrators will have access.
4. Check Board and Forum Status #
Status restrictions are evaluated before regular capability checks.
- Forum Status:
active: Standard access-set behavior.private: Requires login, then access-set match.hidden: Requires login + access-set match and is not listed in non-admin indexes.draft: Admin-only.
- Board Cascading:
- A
draftboard makes all child forums admin-only. - A
privateorhiddenboard forces login across child forums, even if a child forum isactive.
- A
5. Understand Permission Hierarchy #
The plugin uses a hierarchical “Superset” logic rather than a strict ID match.
- Rule: A user is granted access to a forum if their role’s mapped Access Set contains all of the capabilities enabled in the Forum’s assigned Access Set.
- Example: If a forum is set to Read Only (
viewcapability), users with the Standard User set (which hasview,post, andreply) will have access. - Check: If a user is blocked, compare the capabilities in their mapped set versus the forum’s set.
- Inheritance: Permissions flow from the Forum level down to all Topics and Replies within it.
6. Private/Locked Content #
Even if a user has permission to view a forum, they might be restricted from specific actions:
- Locked Topics: If a Topic is “Locked” by a Moderator, “Standard User” roles will be able to view the topic but will not see the “Reply” form.
- Trashed Entries: If a topic or reply has been moved to the trash in Gravity Forms, it will no longer be visible in the forum.
7. Shortcode Context Permissions #
When using shortcodes to embed a forum on a non-forum page:
- Verification: The plugin still performs full permission checks. If you embed a private forum on a public page, guest users will see a “Permission Denied” message (or nothing, depending on the template) even if the page itself is public.
- Logged In Requirement: Login is required when the resolved forum/board status is
privateorhidden. Foractiveforums, access depends on access-set mapping (including anonymous mapping, if configured).