Changeset 13502
- Timestamp:
- 06/13/2023 02:50:47 AM (21 months ago)
- Location:
- trunk/src/bp-core
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/bp-core/admin/bp-core-admin-functions.php
r13497 r13502 291 291 foreach ( $wp_page_components as $component ) { 292 292 if ( ! isset( $bp->pages->{$component['id']} ) ) { 293 $orphaned_components[ ] = $component['name'];293 $orphaned_components[ $component['id'] ] = $component['name']; 294 294 } 295 295 } 296 296 297 297 if ( ! empty( $orphaned_components ) ) { 298 $notice = sprintf( 298 $notice_type = 'error'; 299 $notice = sprintf( 299 300 // Translators: %s is the comma separated list of components needing a directory page. 300 301 __( 'The following active BuddyPress Components do not have associated BuddyPress Pages: %s.', 'buddypress' ), … … 302 303 ); 303 304 304 bp_core_add_admin_notice( $notice ); 305 if ( 'buddypress' === bp_core_get_directory_post_type() ) { 306 $pages = bp_core_add_page_mappings( $orphaned_components, 'keep', true ); 307 $orphaned_components = array_intersect_key( $orphaned_components, $pages ); 308 309 $notice_type = 'updated'; 310 $notice = sprintf( 311 // Translators: %s is the comma separated list of components needing a directory page. 312 __( 'A BuddyPress page has been added for the following active BuddyPress Components which did not have associated BuddyPress Pages yet: %s.', 'buddypress' ), 313 '<strong>' . implode( '</strong>, <strong>', array_map( 'esc_html', $orphaned_components ) ) . '</strong>' 314 ); 315 } 316 317 bp_core_add_admin_notice( $notice, $notice_type ); 305 318 } 306 319 … … 321 334 // If there are duplicates, post a message about them. 322 335 if ( ! empty( $dupe_names ) ) { 323 $notice = s sprintf(336 $notice = sprintf( 324 337 // Translators: %s is the list of directory pages associated to more than one component. 325 338 __( 'Each BuddyPress Component needs its own BuddyPress page. The following BuddyPress Pages have more than one component associated with them: %s.', 'buddypress' ), … … 327 340 ); 328 341 329 bp_core_add_admin_notice( $notice );342 bp_core_add_admin_notice( $notice, 'error' ); 330 343 } 331 344 } -
trunk/src/bp-core/bp-core-functions.php
r13490 r13502 816 816 * 817 817 * @since 1.7.0 818 * 819 * @param array $components Components to create pages for. 820 * @param string $existing 'delete' if you want to delete existing page mappings 821 * and replace with new ones. Otherwise existing page mappings 822 * are kept, and the gaps filled in with new pages. Default: 'keep'. 823 */ 824 function bp_core_add_page_mappings( $components, $existing = 'keep' ) { 818 * @since 12.0.0 Adds the `$return_pages` parameter. 819 * 820 * @param array $components Components to create pages for. 821 * @param string $existing 'delete' if you want to delete existing page mappings 822 * and replace with new ones. Otherwise existing page mappings 823 * are kept, and the gaps filled in with new pages. Default: 'keep'. 824 * @param boolean $return_pages Whether to return the page mapping or not. 825 * @return void|array 826 */ 827 function bp_core_add_page_mappings( $components, $existing = 'keep', $return_pages = false ) { 825 828 826 829 // If no value is passed, there's nothing to do. … … 847 850 848 851 $page_titles = bp_core_get_directory_page_default_titles(); 852 if ( $return_pages ) { 853 // In this case the `$components` array uses Page titles as values. 854 $page_titles = bp_parse_args( $page_titles, $components ); 855 } 849 856 850 857 $pages_to_create = array(); … … 899 906 if ( ! bp_is_root_blog() ) { 900 907 restore_current_blog(); 908 } 909 910 if ( $return_pages ) { 911 return $pages; 901 912 } 902 913 }
Note: See TracChangeset
for help on using the changeset viewer.