Skip to:
Content

BuddyPress.org

Changeset 13637


Ignore:
Timestamp:
11/08/2023 08:21:40 AM (3 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.