In older versions of Buddypress which are bellow 1.5.x, Members, Activity, Groups,… etc buddypress pages were made automatically without creating any pages ( wp-admin->pages ), So that URL structure were same for all buddypress site,
for Activity directory, it was example.com/activity
for Members directory, example.com/members … etc
But since Buddypress 1.5.x versions, it provides us flexibility to select BP pages ( Members, Activity, Groups ) name, slug, url as our own wish, so I can change activity directories name, url as I want, as example, if I change ‘Activity’ directory’s name to ‘Streams’, then my site’s activity url will be example.com/streams
So, you have to know your activity page’s slug for easier access, as like, lets say you know a particular activity id (as example, 17 ) , you want to see that particular activity only, if you know activity directory’s slug, you can simply type example.con/ACTIVITY_SLUG/p/17 (ACTIVITY_SLUG = your activity slug, for me, it is streams),
Some plugins which are released before buddypress 1.5.x used directly default activity page slug (example.com/activity), so if you want to change activity slug, this plugins may produce ‘404 Not Found’ error, in that case you need to get activity slug name dynamically.
bp_get_activity_slug() this function returns you the activity directory’s slug,
as example, I want to show my activity slug name at my sidebar, So, How can I get buddypress activity slug name? simple I’ll type,
<?php echo bp_get_activity_root_slug() ?>
or if I dont want to use php echo function, I can use just <?php bp_activity_root_slug() ?> (this function echo internally)
[codesyntax lang=”php”]
function bp_get_activity_root_slug() {
global $bp;
return apply_filters( ‘bp_get_activity_root_slug’, $bp->activity->root_slug );
}
[/codesyntax]
bp_get_activity_root_slug() information:
Defined in: buddypress/bp-activity/bp-activity-template.php Line 46
Return: Buddypress activity directory slug
Parameter takes: none