Changeset 13680
- Timestamp:
- 12/27/2023 04:00:43 AM (10 months ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/bp-core/admin/bp-core-admin-tools.php
r13648 r13680 192 192 function bp_admin_reset_slugs() { 193 193 /* translators: %s: the result of the action performed by the repair tool */ 194 $statement = __( 'Removing all custom slugs and resetting default ones… %s', 'buddypress' ); 195 196 bp_core_add_page_mappings( buddypress()->active_components, 'delete' ); 194 $statement = __( 'Removing all custom slugs and resetting default ones… %s', 'buddypress' ); 195 $components = buddypress()->active_components; 196 $bp_pages = bp_get_option( 'bp-pages', array() ); 197 $keep = array_intersect_key( $bp_pages, $components ); 198 $delete = array_diff_key( $bp_pages, $keep ); 199 $needs_switch = is_multisite() && ! bp_is_root_blog(); 200 201 if ( bp_allow_access_to_registration_pages() && isset( $delete['register'], $delete['activate'] ) ) { 202 $keep = array_merge( 203 $keep, 204 array( 205 'register' => $delete['register'], 206 'activate' => $delete['activate'], 207 ) 208 ); 209 } 210 211 if ( $needs_switch ) { 212 switch_to_blog( bp_get_root_blog_id() ); 213 } 214 215 // Remove all inactive components BP Pages and reset active ones slugs. 216 if ( $keep ) { 217 $deleted_pages = get_posts( 218 array( 219 'numberposts' => -1, 220 'post_type' => bp_core_get_directory_post_type(), 221 'exclude' => array_values( $keep ), 222 'fields' => 'ids', 223 ) 224 ); 225 226 if ( $deleted_pages ) { 227 foreach ( $deleted_pages as $deleted_id ) { 228 wp_delete_post( $deleted_id, true ); 229 } 230 } 231 232 foreach ( $keep as $component_id => $directory_page_id ) { 233 if ( ! isset( $components[ $component_id ] ) && 'register' !== $component_id && 'activate' !== $component_id ) { 234 continue; 235 } 236 237 wp_update_post( 238 array( 239 'ID' => $directory_page_id, 240 'post_name' => $component_id, 241 ) 242 ); 243 } 244 } 245 246 // Remove all custom slugs. 247 if ( $bp_pages ) { 248 foreach ( $bp_pages as $page_id ) { 249 delete_post_meta( $page_id, '_bp_component_slugs' ); 250 } 251 } 252 253 if ( $needs_switch ) { 254 restore_current_blog(); 255 } 256 257 // Reset page mapping. 258 bp_core_add_page_mappings( $components ); 197 259 198 260 // Delete BP Pages cache and rewrite rules.
Note: See TracChangeset
for help on using the changeset viewer.