BP_Groups_Component::setup_canonical_stack()
Set up canonical stack for this component.
Description
Source
File: bp-groups/classes/class-bp-groups-component.php
public function setup_canonical_stack() { if ( ! bp_is_groups_component() ) { return; } if ( empty( $this->current_group ) ) { return; } $customizer_option = 'group_default_tab'; $default_tab = ''; if ( function_exists( 'bp_nouveau_get_temporary_setting' ) && function_exists( 'bp_nouveau_get_appearance_settings' ) ) { $default_tab = bp_nouveau_get_temporary_setting( $customizer_option,bp_nouveau_get_appearance_settings( $customizer_option ) ); } $default_tab = bp_is_active( $default_tab ) ? $default_tab : 'members'; /** * Filters the default groups extension. * * @since BuddyPress 1.6.0 * * @param string $value BP_GROUPS_DEFAULT_EXTENSION constant if defined, * else 'members'. */ $this->default_extension = apply_filters( 'bp_groups_default_extension', defined( 'BP_GROUPS_DEFAULT_EXTENSION' ) ? BP_GROUPS_DEFAULT_EXTENSION : ( '' === $default_tab ) ? 'members' : $default_tab ); $bp = buddypress(); $user_has_access = $this->current_group->user_has_access; $is_visible = $this->current_group->is_visible; if ( ! $user_has_access && $is_visible ) { $bp->current_action = 'request-membership'; } // members are displayed in the front nav. if ( bp_is_current_action( 'home' ) || ! bp_current_action() ) { $bp->current_action = $this->default_extension; } // Prepare for a redirect to the canonical URL. $bp->canonical_stack['base_url'] = bp_get_group_permalink( $this->current_group ); if ( bp_current_action() ) { $bp->canonical_stack['action'] = bp_current_action(); } if ( ! empty( $bp->action_variables ) ) { $bp->canonical_stack['action_variables'] = bp_action_variables(); } // When viewing the default extension, the canonical URL should not have // that extension's slug, unless more has been tacked onto the URL via // action variables. if ( bp_is_current_action( $this->default_extension ) && empty( $bp->action_variables ) ) { unset( $bp->canonical_stack['action'] ); } }
Changelog
Version | Description |
---|---|
BuddyPress 2.1.0 | Introduced. |
Questions?
We're always happy to help with code or other questions you might have! Search our developer docs, contact support, or connect with our sales team.