bp_core_get_directory_page_ids( string $status = 'active' )
Fetch a list of BP directory pages from the appropriate meta table.
Description
Parameters
- $status
-
(Optional) 'active' to return only pages associated with active components, 'all' to return all saved pages. When running save routines, use 'all' to avoid removing data related to inactive components. Default: 'active'.
Default value: 'active'
Return
(array|string) An array of page IDs, keyed by component names, or an empty string if the list is not found.
Source
File: bp-core/bp-core-functions.php
507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 | function bp_core_get_directory_page_ids( $status = 'active' ) { $page_ids = bp_get_option( 'bp-pages' , array () ); // Loop through pages foreach ( $page_ids as $component_name => $page_id ) { // Ensure that empty indexes are unset. Should only matter in edge cases. if ( empty ( $component_name ) || empty ( $page_id ) ) { unset( $page_ids [ $component_name ] ); } // Trashed pages should never appear in results. if ( 'trash' == get_post_status( $page_id ) ) { unset( $page_ids [ $component_name ] ); } // 'register', 'activate', 'terms' and 'privacy' do not have components, but should be whitelisted. if ( in_array( $component_name , array ( 'register' , 'activate' , 'terms' , 'privacy' , 'profile_dashboard' , 'new_forums_page' ), true ) ) { continue ; } // Remove inactive component pages. if ( ( 'active' === $status ) && ! bp_is_active( $component_name ) ) { unset( $page_ids [ $component_name ] ); } } /** * Filters the list of BP directory pages from the appropriate meta table. * * @since BuddyPress 1.5.0 * @since BuddyPress 2.9.0 Add $status parameter * * @param array $page_ids Array of directory pages. * @param string $status Page status to limit results to */ return ( array ) apply_filters( 'bp_core_get_directory_page_ids' , $page_ids , $status ); } |
Changelog
Version | Description |
---|---|
BuddyPress 1.5.0 | Introduced. |
Questions?
We're always happy to help with code or other questions you might have! Search our developer docs, contact support, or connect with our sales team.