During a development cycle, we can deprecate functions the plugin is not using anymore. In this case we are moving this deprecated code into a specific file named according to the BuddyPress version when it was deprecated. For example, the
bp_insert_site_hook() function was deprecated during the 10.0.0 development cycle and was moved into the
Before 11.0.0, deprecated code was never loaded when BuddyPress was first installed or if the
BP_IGNORE_DEPRECATED constant was set to
true. Deprecated code was only loaded if this constant wasn’t set to
true and if BuddyPress has been regularly upgraded since version 2.7. This means if you first installed version 8.0.0 of BuddyPress, deprecated code was never loaded. This was wrong considering BuddyPress Plugin and Theme authors who were not able to be informed by setting their
WP_DEBUG constant to
true that a function was deprecated (and eventually replaced by another one) and no more available.
Starting in 11.0.0, we’re improving our deprecated code loading strategy
First we are keeping these 2 behaviors from previous versions:
- Deprecated code is never loaded when you first install BuddyPress.
- Deprecated code is not loaded when you define the
Second we’re introducing a new constant to force all deprecated code to be loaded:
BP_LOAD_DEPRECATED. Defining this constant to
true can help you to identify deprecated functions one of your plugins or you active theme is still using although it shouldn’t.
Third, when BuddyPress has been upgraded, we are loading the code that was deprecated during the 2 previous versions.
To read more about the story of this change, you can have a look at this ticket #8687.
At the time I’m writing these lines, we’ve started the 11.0.0 beta testing period. As this change is pretty important, we strongly advise BuddyPress Plugin and Theme authors to test BuddyPress 11.0.0 pre-versions.