The future of the bp-default theme

Since BP 1.7 and the introduction of theme compatibility, BuddyPress has worked seamlessly with pretty much any WP theme. Yet we’ve been continuing to maintain the old bp-default theme, which dates back to when themes needed to be built specifically for use with BP. For the last two release cycles, we’ve maintained more-or-less 100% feature parity between our packaged theme compat templates (bp-legacy) and bp-default. After the release of BP 1.9, this will no longer be the case. In BuddyPress 1.9, we begin the process of phasing out the BuddyPress Default theme. bp-default will continue to be packaged with BuddyPress, and will still receive critical fixes and security updates. However, it will no longer get routine bug fixes or new features.

We’ve made this decision for a number of reasons. First, it simplifies the workflow for BP contributors – patches only need to be written for bp-legacy templates. More importantly, this move encourages BuddyPress users – from developers to site administrators – to stop using the old, buggy method of loading templates (see #5241 for just one recent example of how the old method causes problems). The techniques used by our theme compatibility layer, in contrast, are more robustly integrated with WordPress’s request parsing and template loading systems, and will become even more integrated when we move to using proper WP rewrite rules. In short, theme compat is the future, and the BuddyPress ecosystem will become more stable as people gradually move away from the old themes.

Toward this end, we have, as of [7569], stopped offering bp-default on installations that are not already using it. That means that if your site is not already running bp-default (or a child theme of bp-default), BuddyPress 1.9 will not register its bp-themes directory, and bp-default will not show up on Dashboard > Appearance. This’ll ensure that new installations don’t get locked into using the now-sunsetted bp-default theme.

If you are already using bp-default, either directly or as a parent theme, don’t worry. BuddyPress 1.9 will detect that you need bp-default, and will continue to register it with WordPress. Note that if you switch away from a bp-default theme (say, for testing), the theme will disappear from Dashboard > Appearance. If you need it back, add the following line to your bp-custom.php file:

add_filter( 'bp_do_register_theme_directory', '__return_true' );

In some future release, we’ll aim to remove bp-default altogether from the BuddyPress package. It’ll likely find a new home in the theme repository. We’re working on a method of doing this that’ll be as transparent as possible for existing users of the theme. If you’d like to participate in the conversation about how and when this will happen, follow #5212.

I think I speak for everyone who has worked extensively with bp-default and its derivatives when I say that this is something of a bittersweet moment. bp-default was often a bear to work with, but it also proved to be a remarkably flexible and powerful foundation for building BuddyPress sites. And oh, that beautiful blue header gradient! 🙂