The Issue we were facing:
1. The Non-super-admin users cannot create new forums.
2. The problem is for site administrators, they see invalid post type error on trying to create a New Forum from the frontend of the site. The Forum menus disappear completely in the back admin dashboard.
Why is it happening?
All checks to see confirm whether a user can or cannot take an action are based on what WordPress calls capabilities. WordPress roles are groups of these capabilities, such as administrator, editor, etc.
BBPress has a slew of custom actions that users can take, so BBPress creates its own roles. This is performed on the fly, so BBPress' roles are not stored in the db. This is performed on the after_setup_theme
hook, which is fired just before WordPress sets up the logged-in user object.
Plugins shouldn't perform any action on the user object until its actually instantiated, i.e. after the init
hook. Not all plugins are adhering to this rule, and they are all WPMUDEV plugins.
A number of these plugins invoke the current_user_can()
function on the plugins_loaded
hook, which is well before the init
hook. This includes default-theme, admin-message, google-analytics-async, pretty-plugins, lock-posts and remove-email-verifications, all WPMUDEV plugins.
Some of the WPMU plugins (all of the above installed on our network) use outdated wpmudev-dash-notification.php file which uses plugins_loaded
hook instead of init
hook (which was corrected in latest version of this external file. But some of these plugins still use the older version and it should be updated by WPMU.
So is there any possibility that you can make the appropriate fixes in the next release of these plugins? That would be really appreciated.
Feel free to contact me if you need any further information about this.
Thank you