Get Ready! 2.4.0 will introduce important changes in Groups homes

Important changes to how BuddyPress is loading the Groups component single items home pages have been committed to trunk and will be included in our next major release: 2.4.0.

Here are the most important things you absolutely need to know, of course, you can read the full story on this ticket: #6388.

To better understand the moves we are doing, let’s do a “Before & After” about Groups homes.

So far (soon “before” by the time 2.4.0 is released)

When the Group’s home page loads, BuddyPress is first looking if a front.php template (Themes can use it to customize all the Groups home pages) exists in the active_theme/buddypress/groups/single folder (1). If it doesn’t find it, BuddyPress is checking if the Activity component is active before loading the buddypress/groups/single/activity.php template (2). If the activity component is not active, then BuddyPress will load the buddypress/groups/single/members.php template (3).

(2) is the most common case and everything works fine! the activity template is the home page of the Group and Group members can share activities into the Group.

Now let’s see (3) in action:

The activity component is inactive. Group's home displays the members of the Group.

The Activity component is inactive. Group’s home displays the members of the Group.

In this case, all Groups will display the members of the Group twice: into the Group’s home and under the Members sub navigation.

(1) is a bit more problematic.

Where is the activity sub navigation?

Where is the activity sub navigation?

If your theme is including a front.php template, then all Groups homes are displaying this custom template, but they all loose the activity feature :(

Soon (once 2.4.0 is released)

During the 2.4.0 dev cycle, we’ve been working on cases (1) and (3) and we are very happy to announce that 2.4.0 will not only fix them but also open new customization possibilities for the Group’s home page.

Here’s the Group’s home when the Activity component is not active (3 – fixed).

We do not display the Members sub navigation if the Activity component is not active.

We do not display the Members sub navigation if the Activity component is not active.


Here’s the Group’s home when the active theme includes a custom front.php template (1 – fixed).

Group members can enjoy a custom front page and the Activity feature :)

Group members can enjoy a custom front page and the Activity feature :)

There’s more!

We’ve also added a new Template Hierarchy for the front.php template.

Now, you can have a different home page according to some of the Group properties. For example, you can “restrict” a specific front page according to the Group’s ID, or its slug using the following namings for your front template: front-id-{ID}.php or front-slug-{slug}.php.

You can also choose to “restrict” a front page according to the Group’s status (public/private/hidden) using this kind of naming: front-status-{status}.php

Have a look at the delicious Group’s home @mercime & i have built on our test drive :)

Example of use for the front-id-{ID}.php template

Example of use for the front-id-{ID}.php template

Important changes in some Group’s conditional tags

Plugin developers and theme designers, please note the following changes :

  1. Like before, bp_is_group_home() is true when on the home page of the group (eg: site.url/groups/single-group/).
  2. From now on: bp_is_group_activity() is true when the activity page of the Group is displayed. It can be the home page of the group or its activity page (eg: site.url/groups/single-group/activity).
  3. From now on: bp_is_group_members() is true when the members page of the group is displayed. It can be the home page of the group or its members page (eg: site.url/groups/single-group/members).

This is really very very important: if you need to add some features inside the Activity page of the Group you will use bp_is_group_activity(). I strongly recommend that you check your plugins and themes to see if you were using bp_is_group_home() to know if the Group Activities were displayed. In this case, as soon as 2.4.0 is released, i strongly advise you to use bp_is_group_activity() instead.

Changes in 2 templates

If you are a theme designer or if you’ve overridden one or both of the following templates, please note you’ll need to update them once 2.4.0 is released (even if we made sure these improvements are back compatible with your “old” templates).

Finally, don’t forget to test that everything works fine for you during the 2.4.0 beta period :)

BuddyPress 2.4.0 will introduce Cover Images for members & groups!

Most social media include a feature to allow their users to customize their profile’s header. While this feature may seem trivial, it is actually quite complex to implement in our case.

Unlike these social media which only need to manage one single graphical interface, BuddyPress can be integrated into nearly all WordPress themes and needs to account for all scenarios.

Of course, this complexity is also one of our major strengths: BuddyPress lets you build highly customized community websites.

To add to this complexity, some BuddyPress themes or plugins have already built this feature.

That’s why during the development of this feature and in all the decisions we took we always kept in mind these two concerns:

  1. Maximize the feature’s compatibility with most themes
  2. Include simple ways to deactivate it (if needed)

Before telling you more about these 2 points, here are the BuddyPress Cover Images!

User's profile

User’s profile


Members can manage their cover pictures by visiting their profile page and activating the “Change Cover Image” nav.


"Change Cover Image" screen

“Change Cover Image” screen


If the Groups component is active, Groups will also be able to enjoy cover images!


Group's Cover Image

Group’s Cover Image


We’ve added a new step to the Group’s creation process to let Administrators set the cover image for their Groups


Group's Cover Image creation step

Group’s Cover Image creation step


At any time, Group Administrators can manage the cover image by displaying the “Cover Image” sub nav of the Group’s management area.


Group's Cover Image manage screen

Group’s Cover Image manage screen




User and Group cover images viewed on a smartphone.

User and Group cover images viewed on a smartphone.


Of course!


1. Maximize the feature’s compatibility with most themes

To make this happen, we rely on our great BP Theme Compat API. In short, we are checking the active theme is using the API and the BP Legacy template pack before registering the feature. If it’s the case, BP Theme Compat will take care of everything!

If you’re wondering how the size of the cover image is calculated, i’d say it’s an “equation” involving two parameters: the $content_width global of the theme and the Avatar’s full height.

We have already optimized the feature for the latest “Twenties”. By the way all the screencaps of this article were made using the “TwentyFifteen” theme.

Please note that the BP Legacy template pack has evolved :

Single items Edited Templates New Templates
User bp-templates/bp-legacy/buddypress/members/single/home.php
Group bp-templates/bp-legacy/buddypress/groups/create.php

If your theme is using the BP Theme Compat API (which is the case of most WordPress themes) and if you haven’t overridden the templates listed inside the “Edited Templates” column, then as our test drive is attesting: BuddyPress Cover Images should look awesome into your community.

If you’ve overridden one of the edited templates and you want to enjoy this new feature, please make sure to update your templates by the time BuddyPress 2.4.0 is released.

If your theme requires some “fine-tuning” or if you’re feeling the need to customize the default appearance of the members profiles and groups headers, be assured that you’ll be able to do it easily. I’ll be publishing more information in the BuddyPress Codex about it.

For Standalone BuddyPress themes like BP Default.

These themes are using their very own templates and are generally adding BuddyPress support (add_theme_support( 'buddypress' ) ) into their functions.php file. In this case, the BP Theme Compat API won’t register dynamically the BuddyPress cover images feature. But, it will be very easy for these themes to enjoy it! If you’re eager to see how this will be possible, you can have a look at a diff i’ve made when testing the BP Default theme :)

Include simple ways to deactivate it (if needed)

Your theme is using the BP Theme Compat API and you want to deactivate Cover Images for members, groups or both?

First, at any time, you can do it by deactivating the corresponding setting for cover images in Settings > BuddyPress > Settings as shown in the screencap below.

BuddyPress Settings

BuddyPress Settings


Another way to completely deactivate it is to use these filters :

// For members :
add_filter( 'bp_is_profile_cover_image_active', '__return_false' );

// For groups :
add_filter( 'bp_is_groups_cover_image_active', '__return_false' );

Or you can stop the BP Theme Compat API from dynamically registering the BuddyPress Cover Images support for you site using this kind of code :

function cover_images_no_support() {
    remove_action( 'bp_after_setup_theme', 'bp_register_theme_compat_default_features', 10 );
add_action( 'after_setup_theme', 'cover_images_no_support' );


If you are a theme designer or the author of a plugin managing Cover images, we recommend that you don’t forget to test that everything works fine for you during the 2.4.0 beta period.
Of course everyone is welcome to help us by testing BuddyPress during this period :)

Finally, we’d like to thank all the contributors who gave their professional feedback while building this new “Attachment” feature with special mention to @modemlooper and @BuddyBoss.

To read the full story of this feature: #6570

Dev Chat Summary for September 23, 2015

BuddyPress 2.3.4

BuddyPress 2.4.0

  • Forty-four tickets have been closed to date. There are 98 tickets left. The list of tickets completed so far is available on this page.
  • @boonebgorges noted, “Those who wield the terrifying power of Commit should go through (tickets with patches) and exercise it.”

Email API and customisation features (#6592) @djpaulgibbs: “If people want to help with any particular aspect of BP emails, (you are) more than welcome to participate.” Details are available in ticket. In addition to @espellcaste and @timersys who volunteered to help out in ticket, @marmaduka and @tw2113 have also indicated their interest to do the same during dev chat.

Add UI for adding Profile Header Images for Users and Groups (#6570) @im4th has uploaded new patches based on the decisions made during dev chat and recommendation in ticket: modals are put on hold, add filter to change the default Attachments uploads directory, and some string changes. He has posted more information about how to add the new cover images in ticket for stand-alone themes with custom BP templates and still using theme compatibility as well as for those still using the bp-default theme.
Update: Post about this new feature is imminent.

Groups single item home : improve the way we deal with custom front and activity component (#6388) @im4th sought consensus on patch for 2.4.0 release. @boonebgorges gave thumbs up on the approach. @djpaulgibbs had looked at it before and had positive feedback.

BuddyPress Codex

@slaffik inquired about editing codex pages and about the avatars of article contributors which show up at the bottom of the page. He was assured that anyone who was logged in can add new articles and edit current articles. @hnla reported the avatar / author function has been broken for a while. @djpaulgibbs mentioned that the avatars code is available in meta trac but at this time, he’s concentrating on BP Emails. Just to note that all are welcome to create a ticket and provide a patch to address the issue.

Slack log:

Dev Chat Summary for September 16, 2015

BuddyPress 2.3.4

  • Release is scheduled for this coming week to fix #6606: Visibility issues with BP_Activity_List_Table::row_actions().
  • Other tickets listed in the 2.3.4 milestone will be punted to BP 2.3.5.

BuddyPress 2.4.0


Forty-three tickets have been fixed to date. The list for all tickets completed so far is available on this page.
Mentioned in chat:

BP component as front page messes up blog search (#5087) @boonebgorges has completed the fix for this ticket last week. Solution includes changing the default search query arguments for each BP component to be unique to remove the conflict with regular blog searches, among others. Testing and feedback welcome.


Ninety-four more tickets are slated for 2.4.0 to date. You can keep updated with the complete list of these tickets on this page.

Add UI for adding Profile Header Images for Users and Groups (#6570) @im4th has set up test of the button/modals and uploads at his test site If you’re interested in testing this out in his site, ping @im4th @ Slack (imath). Or you can check it out in your test installation, just apply the latest patch in ticket.
@im4th sought advice on the best way to organize file uploads now especially with more BP Attachments features coming in down the road. @boonebgorges and @djpaulgibbs approved to white label the ‘buddypress’ directory as long as @im4th adds a global filter.

BuddyPress modal iframe (#6604) @im4th  noted that: 1) You can add buttons in the front end profile’s header to set avatar / cover image and 2) The real problem is that our javascript is not yet modular, so you can’t deal with avatar and cover image at the same time, meaning not having the modal would prevent us to have cover image in the Administration screens as everything is managed in one page. @rayisme noted the benefits of using BP modals in the BP admin pages. This new feature will be discussed further this week after additional review by Lead Devs.

Email API and customisation features (#6592) @djpaulgibbs has been working on the email framework and has “reached out to a couple of potential contributors to help with some of the buildout.” He has since updated the ticket to include: the link to his “Amazing Emails” repo in Github, tasks he has completed so far, a list of remaining tasks, and instructions on how you can get involved with the project. Contributors are welcome!

Accessibility Fixes – @mercime has uploaded patches to a number of tickets, most of which have been committed to core.

@hnla: Will be free this week to “work on something fun and rewarding, and look over” the cover photos ticket. Btw, he has committed the BP companion stylesheet for Twenty Thirteen. Testing and feedback welcome.

@boonebgorges: “I would like to find time to look at migrating profile field visibility over to profile meta, so that we can fix a couple of bugs there. Beyond that, I’ll just drop in and do gardening as I have time for 2.4.0” (like fixing #5087 above).

@rayisme: “There’s already quite a few big features for 2.4.0 and I want to concentrate on helping move those along”, just like he has been doing for the cover photos ticket. He has also been doing some gardening specially on the tickets slated for 2.3.4.

Boone on the “Very French Trip WordPress”

@boonebgorges was the special guest on “Very French Trip WordPress”, a podcast in French (of course!), hosted by Thierry Pigot, Grégoire Noyelle, and @im4th last September 10. @im4th remarked later, “French people (listeners) are amazed about Boone’s French level!” 

Boone spoke about how to contribute to the development of BuddyPress and WordPress , along with little Wilhelmina. The hosts also shared information about SkiPress, the very first WP coding and skiing event in the French Alps for one week, and WordCamp Paris in February 2016, among others.

Slack log:

General Summary as of September 9, 2015

This is a compilation of dev chats held on August 26, September 1, and September 9.

BuddyPress 2.3.4

There will be a minor release coming up to address some necessary fixes and updates. Five tickets are currently slated for this release, four of which are still open.

  • The list of tickets slated for BP 2.3.4 are available on this page.
  • Release date: TBA

BuddyPress 2.4.0

  • BP 2.4.0 Beta: October 7, 2015
  • BP 2.4.0 Release: October 28, 2015
  • Features slated for this release are available in our Trac Milestone


Forty-one trac tickets have been fixed to date. The list for all tickets completed so far is available on this page. Notable:

User roles with differents profile fields (#5192) Many thanks to @boonebgorges, @Offereins, @tanner-m, and @im4th, work on this ticket has been completed and the “first killer feature for member types” is available for testing and feedback.


Ninety-one more tickets are slated for 2.4.0 to date. You can keep updated with the complete list of these tickets on this page. The following have been highlighted in compiled chats:

xProfile Fields and Field Groups@johnjamesjacoby continues work on enhancements and fixes for the xProfile component, specifically querying & sign-up fields. Patches coming up.

@since standard not parseable with phpDocumentor 2 – (#6576) In preparation for setting up, @djpaulgibbs posted that our current @since tags are not being parsed/extracted correctly per his tests. @tw2113 has accepted the task to convert the @since tags throughout the project and has already completed the conversion in four component folders to date.

Email API and customisation features – (#6592) @djpaulgibbs has posted the scope and vision for the first version of BuddyPress Emails. He has started work on this already in his github repo but would need to “add a bit more code” before he reaches out to all who said they wanted to help with this new feature.

Create New Invitations API – (#6210) @dcavins continues work on the Group Invitations API which needs some other trac tickets to be completed first. To start off, he has introduced a new function `groups_send_invite_by_invitee()` to handle sending a single invitation keyed by the invitee ID and group ID. In conjunction with that, he is working on adding a “manage invitations” pane to the group admin screen.

Let’s give post-form.php the love – (#6569) In ticket, @im4th, @rayisme, and @modemlooper have been in discussion about improving the UI of the Activity post form. @im4th has uploaded patches which include new hooks and reorganization of the post form. @im4th added, “We want to make it possible for any plugin to add custom ‘attachment’ types.”

  • @johnjamesjacoby noted that “with cover photos and avatar upload improvements, @im4th and @rayisme have both done a good job of assessing the typical user and use cases” when @modemlooper voiced his concern about adding new functionalities directly to core instead of introducing such as feature plugins first.
  • @boonebgorges mentioned that he “maintained a lot of BuddyPress sites and knew the pain of having an update introduce UX that he hadn’t prepared for. But I know how to deal with this, and it seems better than the alternative, which is disabling new stuff by default, and never having anyone use it.”
  • @rayisme said that an admin option to turn off attachments is doable and makes sense.
  • @im4th averred that new features will be extensible as usual and will include documentation.

Add UI for adding Profile Header Images for Users and Groups (#6570) and BuddyPress Modal Iframe (#6604) – @im4th has been rocking it with the new cover photos feature along with @rayisme. In the latest patches, in addition to the new UI for cover photo uploads for members and groups in the frontend, @im4th has added uploading via new BP Modals in the frontend and backend for both profile images and cover photos. Very cool, check it out :)

Commit Access

BuddyCamp Brighton Videos

The following videos are now available at

Enjoy :)

The BP Attachments plugin & the activity stream

I’m very excited to announce the BP Attachments plugin has a very cool new feature. Working on it helped me suggest another patch on the ticket #6569 (an important ticket imho). Now using this plugin, you’ll be able to attach photos to your activity updates! Check this out ;)

PS: By the way, if you wish to get involved into the BP Attachments plugin, feel free to test it, to report bugs or suggest enhancements, to fork it and pull requests. Let’s build an awesome Attachments feature for BuddyPress :)

BuddyPress 2.3.3

BuddyPress 2.3.3 is out now. Important upgrade.