[buddypress-trac] [BuddyPress Trac] #5552: bp_is_current_component_core() breaks subnav for plugins that register themselves in component array
buddypress-trac
noreply at wordpress.org
Tue Aug 12 20:46:05 UTC 2014
#5552: bp_is_current_component_core() breaks subnav for plugins that register
themselves in component array
------------------------------------+------------------
Reporter: boonebgorges | Owner:
Type: defect (bug) | Status: new
Priority: highest | Milestone: 2.2
Component: Core | Version:
Severity: major | Resolution:
Keywords: has-patch dev-feedback |
------------------------------------+------------------
Comment (by boonebgorges):
> Somewhere in an older version of BP (haven't looked), it was possible
for BP to save 3rd-party components into this DB option as well.
Thanks for the research, r-a-y. I have come to the same conclusion.
5552-plugins.php demonstrates the problem - it only exists when the
current component is in the active_components array.
I'm starting to think that my suggested solution is maybe not the best
one. But still, I want to try to make the case one more time for a more
substantial fix, at least for 2.2. Two considerations:
1. The fact that it's only a problem for existing installations makes it
less severe, but still pretty severe. Many thousands of installations.
2. The current setup results in pretty wacky behavior, that avoids
duplicated menu items only by accident. In 5552-plugins.php, Test1 (subnav
of Settings) gets its `bp_options_nav()` from settings.php, while Test2
(subnav of Test2 Parent) gets its `bp_options_nav()` from plugins.php.
This, despite the fact that plugins.php is used to render the template
content in each case.
The more I think about it, the more I think that this is a problem that
pervades our core template logic. The fact that we are required to load
plugins.php in settings.php is a sign that something is wrong. Something
like my original patch should be part of a future version of BP, but it
should probably accompany a rethink of the way our template structure
works. All calls to plugins.php should go through a single point in the
stack, and that is not currently the case.
So, I guess I'm fine to punt this and do nothing for now, seeing as the
solutions are almost as ugly as the problem. I can build workarounds into
Docs and Invite Anyone, and I doubt many others are having the problem at
the moment.
--
Ticket URL: <https://buddypress.trac.wordpress.org/ticket/5552#comment:8>
BuddyPress Trac <http://buddypress.org/>
BuddyPress Trac
More information about the buddypress-trac
mailing list