Skip to:
Content

BuddyPress.org

Changeset 13726


Ignore:
Timestamp:
02/15/2024 03:53:11 AM (21 months ago)
Author:
imath
Message:

BP Nouveau: repair the customizer panel to sort Members nav items

Changes introduced by the BP Rewrites API about how the Members nav items are registered and then set up generated a regression about this customizer panel.

In short, the bp_parse_query action is not fired while building the customizer's panels.

To bring back the possibility to sort the Members nav items from the BP Nouveau > Members Navigation panel, we now need to force the generation of the primary nav using the bp_get_component_navigations() function.

NB: this commit also prevents a notice error when sanitizing the navigation setting to sort items.

Props nitinp544, vapvarun

See #9095 (trunk)
Closes https://github.com/buddypress/buddypress/pull/230

Location:
trunk/src/bp-templates/bp-nouveau/includes
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/bp-templates/bp-nouveau/includes/functions.php

    r13718 r13726  
    44 *
    55 * @since 3.0.0
    6  * @version 12.0.0
     6 * @version 12.3.0
    77 */
    88
     
    753753 */
    754754function bp_nouveau_sanitize_nav_order( $option = '' ) {
    755     $option = explode( ',', $option );
     755    if ( ! is_array( $option ) ) {
     756        $option = explode( ',', $option );
     757    }
     758
    756759    return array_map( 'sanitize_key', $option );
    757760}
  • trunk/src/bp-templates/bp-nouveau/includes/members/functions.php

    r13652 r13726  
    44 *
    55 * @since 3.0.0
    6  * @version 10.0.0
     6 * @version 12.3.0
    77 */
    88
     
    494494 */
    495495function bp_nouveau_member_customizer_nav() {
     496    $nav = buddypress()->members->nav;
     497
     498    if ( ! $nav->get_primary() ) {
     499        $nav_items = bp_get_component_navigations();
     500
     501        // Forces navigation generation.
     502        foreach ( $nav_items as $nav_item ) {
     503            $nav->add_nav( $nav_item['main_nav'] );
     504        }
     505    }
     506
    496507    add_filter( '_bp_nouveau_member_reset_front_template', 'bp_nouveau_member_restrict_user_front_templates', 10, 1 );
    497508
    498509    if ( bp_displayed_user_get_front_template( buddypress()->loggedin_user ) ) {
    499         buddypress()->members->nav->add_nav(
     510        $nav->add_nav(
    500511            array(
    501512                'name'     => _x( 'Home', 'Member Home page', 'buddypress' ),
     
    508519    remove_filter( '_bp_nouveau_member_reset_front_template', 'bp_nouveau_member_restrict_user_front_templates', 10, 1 );
    509520
    510     $nav = buddypress()->members->nav;
    511 
    512521    // Eventually reset the order.
    513522    bp_nouveau_set_nav_item_order( $nav, bp_nouveau_get_appearance_settings( 'user_nav_order' ) );
Note: See TracChangeset for help on using the changeset viewer.