{"id":386959,"date":"2026-10-15T12:07:20","date_gmt":"2026-10-15T12:07:20","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/resonanz-user-role-permissions-for-gravity-forms\/"},"modified":"2026-10-15T12:07:08","modified_gmt":"2026-10-15T12:07:08","slug":"resonanz-user-role-permissions-for-gravity-forms","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/resonanz-user-role-permissions-for-gravity-forms\/","author":23099239,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.2.0","stable_tag":"1.2.0","tested":"7.1.3","requires":"6.0","requires_php":"7.0","requires_plugins":null,"header_name":"Resonanz User Role Permissions for Gravity Forms","header_author":"Resonanz Digital","header_description":"Give the Editor role access to Gravity Forms settings \u2014 per-capability checkboxes, no role manager required.","assets_banners_color":"","last_updated":"2026-10-15 12:07:08","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"","header_author_uri":"https:\/\/resonanz-digital.at\/","rating":0,"author_block_rating":0,"active_installs":0,"downloads":75,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","faq","changelog"],"tags":{"1.2.0":{"tag":"1.2.0","author":"resonanzdigital","date":"2026-10-15 12:07:08","revision":3748396}},"upgrade_notice":{"1.2.0":"<p>The plugin was renamed and its main file changed, so WordPress deactivates it on update. Reactivate it once. Your saved capabilities are kept.<\/p>","1.1.0":"<p>The settings screen moved to Forms \u2192 Settings \u2192 Role Access. Capabilities that can escalate to administrator access are now flagged.<\/p>","1.0.1":"<p>Now installs on PHP 7.0 and later. No functional change on PHP 8.<\/p>","1.0.0":"<p>Initial release.<\/p>"},"ratings":[],"assets_icons":[],"assets_banners":[],"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.2.0"],"block_files":[],"assets_screenshots":[],"screenshots":{"1":"The Role Permissions settings screen, with core capabilities grouped by area.","2":"Add-on capabilities, detected from the add-ons active on the site."}},"plugin_section":[],"plugin_tags":[1913,1332,1655,895,1915],"plugin_category":[46,54,58],"plugin_contributors":[232368],"plugin_business_model":[],"class_list":["post-386959","plugin","type-plugin","status-publish","hentry","plugin_tags-capabilities","plugin_tags-editor","plugin_tags-gravity-forms","plugin_tags-permissions","plugin_tags-roles","plugin_category-editor-and-writing","plugin_category-security-and-spam-protection","plugin_category-user-management","plugin_contributors-resonanzdigital","plugin_committers-resonanzdigital"],"banners":[],"icons":{"svg":false,"icon":"https:\/\/s.w.org\/plugins\/geopattern-icon\/resonanz-user-role-permissions-for-gravity-forms.svg","icon_2x":false,"generated":true},"screenshots":[],"raw_content":"<!--section=description-->\n<p><strong>Disclaimer:<\/strong> This plugin is not affiliated with, endorsed by, or sponsored by Rocketgenius, Inc. Gravity Forms is a trademark of Rocketgenius, Inc. This plugin is an independent third-party extension.<\/p>\n\n<p>Out of the box, only Administrators can use Gravity Forms. That is usually wrong for real sites: the person who writes the content is often the same person who should build the contact form and read the submissions, but handing them an admin account to do it is a bad trade.<\/p>\n\n<p>This plugin gives the Editor role access to Gravity Forms, and lets you decide precisely how much.<\/p>\n\n<p>On activation it grants a sensible starting set: Editors can build, preview and delete forms, and view, edit, export and annotate entries. It does not grant anything that changes site configuration, and it does not grant entry deletion. From there, a single settings screen under <strong>Forms \u2192 Settings \u2192 Role Permissions<\/strong> turns each individual capability on or off with a checkbox.<\/p>\n\n<h4>Add-on capabilities are detected automatically<\/h4>\n\n<p>Add-ons register their own capabilities, and those are usually the ones that trip people up: the Editor can reach the form editor but the add-on's settings tab is invisible, with no obvious reason why.<\/p>\n\n<p>This plugin reads the active add-ons directly from Gravity Forms and lists their capabilities in their own sections, using the add-on's own labels. Nothing is hard-coded. New add-ons, and third-party ones, show up without an update to this plugin, and add-ons you do not have are never shown.<\/p>\n\n<h4>Capabilities that can escalate to administrator<\/h4>\n\n<p>Some capabilities can be turned into full administrator access by the person you grant them to. <code>gravityforms_user_registration<\/code> is the clear case: it allows editing User Registration feeds, and those feeds assign WordPress roles, so anyone who holds it can make themselves an administrator.<\/p>\n\n<p>This plugin does not offer those capabilities at all. The settings screen lists each one with an info line instead of a checkbox, explaining that it is disabled because of the privilege escalation risk. That way it is clear the capability was considered, not overlooked. If the Editor role already holds one because other code granted it, the screen says so, so you can remove it there.<\/p>\n\n<p>If you maintain your own list, the <code>resonanz_user_role_permissions_gf_blocked_caps<\/code> filter lets you add to it. The built-in entries cannot be removed through the filter.<\/p>\n\n<h4>Careful with your existing setup<\/h4>\n\n<p>The plugin records which capabilities it granted. When you uninstall it, only those are removed. Capabilities the Editor role already had: from custom code, a role editor, or another plugin, are left exactly as they were.<\/p>\n\n<p>Deactivating changes nothing at all. Your configuration is still there when you switch it back on.<\/p>\n\n<!--section=faq-->\n<dl>\n<dt id=\"does%20this%20work%20with%20roles%20other%20than%20editor%3F\"><h3>Does this work with roles other than Editor?<\/h3><\/dt>\n<dd><p>Not in this version. Version 1 manages the Editor role only, which covers the large majority of sites that need this. Support for other roles is planned.<\/p><\/dd>\n<dt id=\"what%20is%20the%20%22full%20access%22%20checkbox%3F\"><h3>What is the \"Full access\" checkbox?<\/h3><\/dt>\n<dd><p>It grants <code>gform_full_access<\/code>, Gravity Forms' catch-all capability. It overrides every individual permission, including capabilities added by add-ons you install later. It is there because it is occasionally what you want, and because sites migrating from a code snippet often already have it. For most sites the checkboxes are the better choice.<\/p><\/dd>\n<dt id=\"i%20unchecked%20a%20box%20but%20the%20user%20still%20has%20access.\"><h3>I unchecked a box but the user still has access.<\/h3><\/dt>\n<dd><p>Check whether \"Full access\" is on. It overrides everything. Also check whether the user has more than one role, or whether another plugin grants the capability. Removing it here only affects the Editor role.<\/p><\/dd>\n<dt id=\"does%20this%20modify%20gravity%20forms%3F\"><h3>Does this modify Gravity Forms?<\/h3><\/dt>\n<dd><p>No. It only adds and removes capabilities on the Editor role using the standard WordPress roles API. Gravity Forms itself is untouched.<\/p><\/dd>\n<dt id=\"where%20can%20i%20find%20further%20help%3F\"><h3>Where can I find further help?<\/h3><\/dt>\n<dd><p>If you require assistance or experience technical problem, feel free to <a href=\"https:\/\/resonanz-digital.at\/kontakt\/?betreff=Plugin%20Support:%20User%20Role%20Permissions%20for%20Gravity%20Forms\">contact us<\/a><\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.2.0<\/h4>\n\n<ul>\n<li>Renamed to \"Resonanz User Role Permissions for Gravity Forms\". The plugin slug and text domain are now <code>resonanz-user-role-permissions-gf<\/code>, and the settings tab is now <strong>Forms \u2192 Settings \u2192 Role Permissions<\/strong>.<\/li>\n<li>Saved settings carry over. The stored capability list moves to its new option name automatically, on reactivation or on the next admin page load.<\/li>\n<li>Capabilities that escalate to administrator access are no longer offered. <code>gravityforms_user_registration<\/code> now shows an info line explaining why, instead of a checkbox. If this plugin granted it before, it is revoked on upgrade.<\/li>\n<li>The <code>resonanz_role_access_risky_caps<\/code> filter is replaced by <code>resonanz_user_role_permissions_gf_blocked_caps<\/code>.<\/li>\n<li>Fixed the capability groups stacking in a single column. They now sit two side by side, like the panels on other Gravity Forms settings screens.<\/li>\n<li>The settings tab now carries the non-affiliation note below the save button, so it is clear inside the Gravity Forms admin that this is not an official add-on.<\/li>\n<\/ul>\n\n<h4>1.1.0<\/h4>\n\n<ul>\n<li>The settings screen is now a tab on the Gravity Forms settings page, at <strong>Forms \u2192 Settings \u2192 Role Access<\/strong>, alongside the official add-ons. The old <strong>Forms \u2192 Role Access<\/strong> menu entry is gone; the Settings link on the Plugins page points at the new location.<\/li>\n<li>The tab is registered for administrators only. Gravity Forms applies no capability check to registered settings tabs, so an Editor holding <code>gravityforms_view_settings<\/code> would otherwise have been able to open the screen that hands out capabilities.<\/li>\n<li>Capabilities that can be escalated to administrator access are now marked with a visible warning. <code>gravityforms_user_registration<\/code> is flagged by default, and the <code>resonanz_role_access_risky_caps<\/code> filter accepts more.<\/li>\n<li>Added the non-affiliation disclaimer required for pages about Gravity Forms products.<\/li>\n<li>The screen now uses Gravity Forms' own settings markup, so it matches the rest of their admin: <code>gform_settings_form<\/code> for the two-column grid, <code>gform-settings-panel<\/code> cards with title bars for each capability group, <code>gform-settings-choice<\/code> checkbox rows, and their <code>alert<\/code> styles for notices. Most of the plugin's own CSS became unnecessary as a result.<\/li>\n<li>Fixed the save button rendering white on white. Gravity Forms styles <code>.gform-settings__wrapper .button<\/code> with a white background and no colour, so the white label of WordPress' <code>.button-primary<\/code> survived and the button was only legible on hover. It now uses Gravity Forms' own <code>.button.primary<\/code> class.<\/li>\n<\/ul>\n\n<h4>1.0.1<\/h4>\n\n<ul>\n<li>Lowered the PHP requirement from 8.0 to 7.0. The plugin never used any PHP 8 syntax; the header alone stopped WordPress from activating it on older servers.<\/li>\n<li>Replaced the constructs that needed a later PHP 7 release: a typed static property and an arrow function (both 7.4), <code>void<\/code> and nullable return types, and class constant visibility modifiers (all 7.1).<\/li>\n<li>No functional change. Behaviour on PHP 8 is identical.<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release.<\/li>\n<\/ul>","raw_excerpt":"Give the Editor role access to Gravity Forms settings \u2014 per-capability checkboxes, no role manager required.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/386959","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=386959"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/resonanzdigital"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=386959"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=386959"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=386959"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=386959"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=386959"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=386959"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}