Skip to:
Content

BuddyPress.org

Changeset 13637


Ignore:
Timestamp:
11/08/2023 08:21:40 AM (2 years ago)
Author:
imath
Message:

Refresh permalinks when a component having a directory is activated

Fixes #9020
Closes https://github.com/buddypress/buddypress/pull/188

Location:
trunk/src/bp-core
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/bp-core/admin/bp-core-admin-components.php

    r13137 r13637  
    300300
    301301    // Bail if not saving settings.
    302     if ( ! isset( $_POST['bp-admin-component-submit'] ) )
     302    if ( ! isset( $_POST['bp-admin-component-submit'] ) ) {
    303303        return;
     304    }
    304305
    305306    // Bail if nonce fails.
    306     if ( ! check_admin_referer( 'bp-admin-component-setup' ) )
     307    if ( ! check_admin_referer( 'bp-admin-component-setup' ) ) {
    307308        return;
     309    }
    308310
    309311    // Settings form submitted, now save the settings. First, set active components.
     
    323325        bp_core_add_page_mappings( $bp->active_components );
    324326        bp_update_option( 'bp-active-components', $bp->active_components );
     327
     328        // Force permalinks to be refreshed at next page load if one of the components is using a directory page.
     329        if ( array_intersect_key( $bp->active_components, bp_core_get_directory_page_ids( 'active' ) ) ) {
     330            bp_delete_rewrite_rules();
     331        }
    325332    }
    326333
    327334    // Where are we redirecting to?
    328     $base_url = bp_get_admin_url( add_query_arg( array( 'page' => 'bp-components', 'updated' => 'true' ), 'admin.php' ) );
     335    $base_url = bp_get_admin_url(
     336        add_query_arg(
     337            array(
     338                'page'    => 'bp-components',
     339                'updated' => 'true',
     340            ),
     341            'admin.php'
     342        )
     343    );
    329344
    330345    // Redirect.
    331     wp_redirect( $base_url );
    332     die();
     346    wp_safe_redirect( $base_url );
     347    exit;
    333348}
    334349add_action( 'bp_admin_init', 'bp_core_admin_components_settings_handler' );
  • trunk/src/bp-core/bp-core-update.php

    r13635 r13637  
    905905            }
    906906
    907             // Finally make sure to rebuilt permalinks at next page load.
     907            // Force permalinks to be refreshed at next page load.
    908908            bp_delete_rewrite_rules();
    909909        }
Note: See TracChangeset for help on using the changeset viewer.