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.