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
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.