[buddypress-trac] [BuddyPress Trac] #9139: bp_is_directory_homepage() should return false when called from sub-sites

buddypress-trac noreply at wordpress.org
Sun Apr 28 17:21:50 UTC 2024


#9139: bp_is_directory_homepage() should return false when called from sub-sites
--------------------------+------------------------------
 Reporter:  r-a-y         |       Owner:  (none)
     Type:  defect (bug)  |      Status:  new
 Priority:  normal        |   Milestone:  Awaiting Review
Component:  Core          |     Version:  12.0.0
 Severity:  normal        |  Resolution:
 Keywords:  dev-feedback  |
--------------------------+------------------------------
Description changed by r-a-y:

Old description:

> Hi gang,
>
> We ran into a scenario where the Groups Directory was being displayed as
> the homepage on a sub-site on a multisite install.
>
> The issue is due to the check for `bp_is_directory_homepage()` in each
> component's `parse_query()` method. For example, in the BP groups
> component, `bp_is_directory_homepage()` is used to determine if the group
> directory page ID matches the front page's ID:
> *
> https://github.com/buddypress/buddypress/blob/9df9764d33b34bf3cf2f48368741875b43250201/src
> /bp-groups/classes/class-bp-groups-component.php#L1067-L1074
> *
> https://github.com/buddypress/buddypress/blob/9df9764d33b34bf3cf2f48368741875b43250201/src
> /bp-core/bp-core-functions.php#L1022-L1024
>
> When this occurs, BP sets the `current_component` property to `groups`.
> This works fine as intended on the root site, but this check should be
> omitted from sub-sites altogether since this isn't expected behavior. On
> our install, the sub-site's front page ID matched the Group Directory's
> page ID from the root site and this caused `bp_is_directory_homepage()`
> to return `true` causing the Group Directory to display instead of the
> sub-site's intended front page when bp_redirect_canonical() is disabled.
> (If bp_redirect_canonical() is enabled(), sub-site homepages are
> redirected back to the root site.)
>
> I would suggest returning `false` for `bp_is_directory_homepage()` when
> the function is being called from a sub-site and not the root site.

New description:

 Hi gang,

 We ran into a scenario where the Groups Directory was being displayed as
 the homepage on a sub-site on a multisite install.

 The issue is due to the check for `bp_is_directory_homepage()` in each
 component's `parse_query()` method. For example, in the BP groups
 component, `bp_is_directory_homepage()` is used to determine if the group
 directory page ID matches the front page's ID:
 *
 https://github.com/buddypress/buddypress/blob/9df9764d33b34bf3cf2f48368741875b43250201/src
 /bp-groups/classes/class-bp-groups-component.php#L1067-L1074
 *
 https://github.com/buddypress/buddypress/blob/9df9764d33b34bf3cf2f48368741875b43250201/src
 /bp-core/bp-core-functions.php#L1022-L1024

 When this occurs, BP sets the `current_component` property to `groups`.
 This works fine as intended on the root site, but this check should be
 omitted from sub-sites altogether since this isn't expected behavior. On
 our install, the sub-site's front page ID matched the Group Directory's
 page ID from the root site and this caused `bp_is_directory_homepage()` to
 return `true` causing the Group Directory to display instead of the sub-
 site's intended front page when bp_redirect_canonical() is disabled. (If
 bp_redirect_canonical() is enabled, sub-site homepages are redirected back
 to the root site.)

 I would suggest returning `false` for `bp_is_directory_homepage()` when
 the function is being called from a sub-site and not the root site.

--

-- 
Ticket URL: <https://buddypress.trac.wordpress.org/ticket/9139#comment:2>
BuddyPress Trac <http://buddypress.org/>
BuddyPress Trac


More information about the buddypress-trac mailing list