bp_core_add_root_component( string $slug )
Add support for a top-level (“root”) component.
Description
This function originally (pre-1.5) let plugins add support for pages in the root of the install. These root level pages are now handled by actual WordPress pages and this function is now a convenience for compatibility with the new method.
Parameters
- $slug
-
(Required) The slug of the component being added to the root list.
Source
File: bp-core/bp-core-functions.php
function bp_core_add_root_component( $slug ) {
$bp = buddypress();
if ( empty( $bp->pages ) ) {
$bp->pages = bp_core_get_directory_pages();
}
$match = false;
// Check if the slug is registered in the $bp->pages global.
foreach ( (array) $bp->pages as $key => $page ) {
if ( $key == $slug || $page->slug == $slug ) {
$match = true;
}
}
// Maybe create the add_root array.
if ( empty( $bp->add_root ) ) {
$bp->add_root = array();
}
// If there was no match, add a page for this root component.
if ( empty( $match ) ) {
$add_root_items = $bp->add_root;
$add_root_items[] = $slug;
$bp->add_root = $add_root_items;
}
// Make sure that this component is registered as requiring a top-level directory.
if ( isset( $bp->{$slug} ) ) {
$bp->loaded_components[$bp->{$slug}->slug] = $bp->{$slug}->id;
$bp->{$slug}->has_directory = true;
}
}
Changelog
| Version | Description |
|---|---|
| BuddyPress 1.0.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.