Template Overrides
BuddyPress Newsfeed ships template files under templates/, but only one of them is loaded by the current version of the plugin. This page explains which template you can override, how the plugin resolves it, and why the other bundled files have no effect if you copy them into your theme.
Which templates the plugin loads
Section titled “Which templates the plugin loads”| Template | Loaded by the plugin? | When |
|---|---|---|
templates/nouveau/parts/bp-whats-new-toolbar.php |
Yes | Only when BuddyBoss Platform is active |
templates/nouveau/bp-news-feed-activity.php |
No | Not referenced anywhere in the current version |
templates/legacy/bp-news-feed-activity.php |
No | Not referenced anywhere in the current version |
Only parts/bp-whats-new-toolbar.php is loaded through the plugin’s own template system. It is loaded from bpnewsfeed_get_template_part(), which fires only when BuddyBoss Platform is active and BuddyBoss requests the toolbar template part. On standard BuddyPress, the Newsfeed tab renders through BuddyPress core’s own activity templates (the post form via bp_get_template_part( 'activity/post-form' ) and the activity loop via BuddyPress core), not through any file in this plugin’s templates/ folder.
The two bp-news-feed-activity.php files are bundled with the plugin but are not called from any code path in the current version. Copying them into your theme has no effect, because the plugin never asks WordPress to locate them.
How template location works
Section titled “How template location works”The plugin resolves the toolbar template through two functions in includes/bnews-general-functions.php:
bp_news_feed_locate_template( $name, $path, $default_path ): finds the template filebp_news_feed_get_template( $name, $args, $path, $default_path ): locates then includes it
The search order for bp_news_feed_locate_template() is:
- Active theme: WordPress
locate_template()checks the active child theme first, then the parent theme, for:{$template_path}/{$template_name}(e.g.nouveau/parts/bp-whats-new-toolbar.php){$template_name}(just the filename, as a fallback)
- Plugin bundled default: if the theme provides nothing, the plugin uses its own file at
{BNEWS_PLUGIN_PATH}templates/{$template_path}/{$template_name}
After the path is resolved, the bp_news_feed_locate_template filter fires, letting you override the path programmatically (see Hooks Reference).
Overriding the What’s New toolbar (BuddyBoss)
Section titled “Overriding the What’s New toolbar (BuddyBoss)”When BuddyBoss Platform is active, the plugin intercepts bp_get_template_part for the slug common/js-templates/activity/parts/bp-whats-new-toolbar and loads its own version via bp_news_feed_get_template( 'parts/bp-whats-new-toolbar.php' ). The plugin calls this with the default $template_path of nouveau and no extra $args.
To override this template from your theme, place your copy at:
{your-theme}/nouveau/parts/bp-whats-new-toolbar.phpThe locator checks the theme first, so your file takes precedence over the plugin’s bundled version. For example, in a child theme at /wp-content/themes/my-child/:
mkdir -p /wp-content/themes/my-child/nouveau/partscp /wp-content/plugins/buddypress-newsfeed/templates/nouveau/parts/bp-whats-new-toolbar.php \ /wp-content/themes/my-child/nouveau/parts/bp-whats-new-toolbar.phpAlternatively, use the bp_news_feed_locate_template filter to point the lookup at any path you choose, without placing the file in the conventional theme location. See Hooks Reference for a worked example.
Passing variables to a template
Section titled “Passing variables to a template”bp_news_feed_get_template() accepts an $args array whose values are extracted into the template scope with extract(). In the current version the plugin calls it with no $args, so the toolbar template runs with no plugin-supplied variables. If you need custom variables in your override, pass them yourself when calling bp_news_feed_get_template(), or use the bp_news_feed_locate_template filter to swap in a template that gets its data another way (a global, a closure, or a direct BuddyPress call).
The bp-news-feed-activity.php files contain references to $query, $limit, and $allow_posting, but because the plugin never loads those files, those variables are never populated by the plugin today. Treat those two files as unused, not as a supported override surface.

