#2473 closed defect (bug) (fixed)
Changing priority of bp_init and introducing bp_loaded causing issues with existing issues
Reported by: | sbrajesh | Owned by: | |
---|---|---|---|
Milestone: | 1.2.6 | Priority: | major |
Severity: | Version: | ||
Component: | Core | Keywords: | |
Cc: |
Description
hi JJJ,
You remember you had introduce bp_init as the future proof hook in buddypress 1.2.
As I see now, a new hook bp_loaded is introduced and in the favor of bp_loaded the "setup_root_component" is now not called with plugins_loaded but with bp_loaded action.
It is causing issues when an existing plugin uses bp_init hook and adds the navigation item.
The problem is "bp_core_new_nav_item" checks for the root component, but the root component will not be populated until "bp_setup_root_components" action executes, so an error is generated as passing null instead of array on bp-core.php line 315.
The problem is, if it is kept as it is now, It is going to break almost all buddypress plugins which used "bp_init" action to create new nav items.
Rather than resolving this issue,I am more interested in hearing form a core developer about any future proof way to create new plugins and not break them with every Buddypress release. As of buddypress 1.2, "bp_init" was introduced as the future proof way but it no more seems to be of any effect other than being used for loading the plugins and making it buddypress aware and why would anyone need it anymore if the bp_loaded action is available ?
Thanks
Brajesh
Change History (3)
#1
in reply to:
↑ description
@
14 years ago
#3
@
14 years ago
This one and #2325 are particularly tricky because people have been using bp_init in different ways. Previously there was nothing stopping us from using bp_init and loading code before the core components.
I have several plugins that broke with this fix, but there isn't a way around it because it was partially implemented previously.
the title should be
"Changing priority of bp_init and introducing bp_loaded causing issues with existing plugins which used bp_init to add navigation"