Conflict with User Role Editor filter
sanzeeb3 opened this issue · comments
Describe the bug
This filter 'ure_full_capabilites' in the User Role Editor expects a full list capability return. Example format:
Array
(
[activate_plugins] => Array
(
[inner] => activate_plugins
[human] => Activate plugins
[wp_core] => 1
)
[assign_give_form_terms] => Array
(
[inner] => assign_give_form_terms
[human] => Assign give form terms
[wp_core] =>
)
[assign_give_payment_terms] => Array
(
[inner] => assign_give_payment_terms
[human] => Assign give payment terms
[wp_core] =>
)
while the same filter in this plugin return the $caps
in the format:
Array (
[activate_plugins] => activate_plugins
[edit_plugins] => edit_plugins
[edit_users] => edit_users
[edit_files] => edit_files
[manage_options] => manage_options
[level_10] => level_10
[delete_users] => delete_users
Specifications
- Plugin Version: 1.8.5
- WordPress Version: 5.3.2
- Other plugins installed: WPForms
Additional context
Any plugin using this filter returning the format that 'User Role Editor' expects creates the issue. For example WPForms.
Steps to reproduce the issue:
- Install and active View Admin As and WPForms plugin.
- Enable error log.
- See the error.
Hi @sanzeeb3
Do you get an error or notification?
I cannot find any changes in the URE plugin that indicates such a format. See: https://plugins.trac.wordpress.org/browser/user-role-editor/trunk/includes/classes/own-capabilities.php
In any case, I implemented the members hook members_get_capabilities
, not the URE hook you mention. URE also has implemented the Members hook so if they want to support that they will need to use that format.
Cheers, Jory
Hi @sanzeeb3
I think I understand your issue.
My compat code also parses the URE hook to fetch all capabilities that other plugins might add to that hook.
I'll change my code to just pass an empty array to that hook. I might even just remove it completely.
Cheers, Jory
Yeah that. It's just a notice, though. This: https://wordpress.org/support/topic/causing-error-on-pages/