$posted_data ) { $postarr = array(); if ( ! isset( $current_page_slugs[ $page_id ] ) ) { continue; } $postarr['ID'] = $page_id; if ( isset( $posted_data['post_title'] ) ) { $post_title = sanitize_text_field( $posted_data['post_title'] ); if ( $current_page_titles[ $page_id ] !== $post_title ) { $postarr['post_title'] = $post_title; } } if ( isset( $posted_data['post_name'] ) ) { $post_name = sanitize_text_field( $posted_data['post_name'] ); if ( $current_page_slugs[ $page_id ] !== $post_name ) { $reset_rewrites = true; $postarr['post_name'] = $post_name; } } if ( isset( $posted_data['_bp_component_slugs'] ) && is_array( $posted_data['_bp_component_slugs'] ) ) { $postarr['meta_input']['_bp_component_slugs'] = array_map( 'sanitize_title', (array) $posted_data['_bp_component_slugs'] ); } if ( isset( $posted_data['_bp_component_slugs']['bp_group_create'] ) ) { $new_current_group_create_slug = sanitize_text_field( $posted_data['_bp_component_slugs']['bp_group_create'] ); $current_group_create_custom_slug = ''; if ( isset( $dir_pages_object->groups->custom_slugs['bp_group_create'] ) ) { $current_group_create_custom_slug = $dir_pages_object->groups->custom_slugs['bp_group_create']; } if ( $new_current_group_create_slug !== $current_group_create_custom_slug ) { $reset_rewrites = true; } } wp_update_post( $postarr ); } // Make sure the WP rewrites will be regenerated at next page load. if ( $reset_rewrites ) { bp_delete_rewrite_rules(); } if ( $switched_to_root_blog ) { restore_current_blog(); } wp_safe_redirect( add_query_arg( 'updated', 'true', $base_url ) ); } } /** * Outputs BP Rewrites URLs settings. * * @since 12.0.0 */ function bp_core_admin_rewrites_settings() { $bp = buddypress(); $bp_pages = $bp->pages; $reordered_pages = array(); wp_enqueue_script( 'bp-rewrites-ui' ); if ( isset( $bp_pages->register ) ) { $reordered_pages['register'] = $bp_pages->register; unset( $bp_pages->register ); } if ( isset( $bp_pages->activate ) ) { $reordered_pages['activate'] = $bp_pages->activate; unset( $bp_pages->activate ); } if ( $reordered_pages ) { foreach ( $reordered_pages as $page_key => $reordered_page ) { $bp_pages->{$page_key} = $reordered_page; } } // Members component navigations. $members_navigation = bp_get_component_navigations(); $members_sub_navigation = array(); // Remove the members component navigation when needed. if ( bp_is_active( 'xprofile' ) ) { unset( $members_navigation['members'] ); } bp_core_admin_tabbed_screen_header( __( 'BuddyPress Settings', 'buddypress' ), __( 'URLs', 'buddypress' ) ); ?>