bp_core_admin_get_directory_pages()
Generate a list of directory pages, for use when building Components panel markup.
Description
Return
(array)
Source
File: bp-core/admin/bp-core-admin-slugs.php
function bp_core_admin_get_directory_pages() {
$bp = buddypress();
$directory_pages = array();
// Loop through loaded components and collect directories.
if ( is_array( $bp->loaded_components ) ) {
foreach( $bp->loaded_components as $component_slug => $component_id ) {
// Only components that need directories should be listed here.
if ( isset( $bp->{$component_id} ) && !empty( $bp->{$component_id}->has_directory ) ) {
// The component->name property was introduced in BP 1.5, so we must provide a fallback.
$directory_pages[$component_id] = !empty( $bp->{$component_id}->name ) ? $bp->{$component_id}->name : ucwords( $component_id );
}
}
}
if ( function_exists( 'bp_nouveau_get_appearance_settings' ) ) {
if ( bp_nouveau_get_appearance_settings( 'user_front_page' ) ) {
$directory_pages['profile_dashboard'] = __( 'Profile Dashboard', 'buddyboss' );
}
}
// Add new Forums option into the Pages.
if ( bp_is_active( 'forums' ) ) {
if ( bp_is_active( 'groups' ) ) {
$directory_pages = array_insert_after( $directory_pages, 'groups', array( 'new_forums_page' => __( 'Forums', 'buddyboss' ) ) );
} else {
$directory_pages = array_insert_after( $directory_pages, 'members', array( 'new_forums_page' => __( 'Forums', 'buddyboss' ) ) );
}
}
/** Directory Display *****************************************************/
/**
* Filters the loaded components needing directory page association to a WordPress page.
*
* @since BuddyPress 1.5.0
*
* @param array $directory_pages Array of available components to set associations for.
*/
return apply_filters( 'bp_directory_pages', $directory_pages );
}
Changelog
| Version | Description |
|---|---|
| BuddyPress 2.4.1 | 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.