The New BuddyPress Theme Architecture
August 24, 2009 in News
For the next version of BuddyPress there has been a fair amount of re-factoring work done. We’ve listened to your feedback from version 1.0 and made a number of internal changes that are going to make your lives as plugin developers and theme designers easier.
One of the biggest changes in BuddyPress 1.1 will be the way themes are built.
In version 1.0 BuddyPress required two themes to function. The first theme was a “WordPress home” theme that handled the blog and front page of your site. It was essentially a standard WordPress theme. The second was a “BuddyPress member” theme that would handle the display of pages generated by BuddyPress. There were many reasons for handling themes this way, but as time passed it was evident theming in this fashion was hurting the majority to help the minority.
In BuddyPress 1.1 there will be one single theme to handle everything. BuddyPress will ship with a social network framework theme that acts as a parent theme. The default theme will be a child theme based on this framework and contains only images and css. Building a new BuddyPress theme will be as simple as creating a child theme based on this framework. If you’re not familiar with child themes a quick google search will bring up lots of useful information.
This approach brings big benefits. When building a new theme you don’t need to re-create every template file. You can override specific template files where needed. Most importantly though, your theme will update automatically with the latest functionality when the framework theme is updated.
If you’ve already created a BuddyPress theme using the old system don’t worry, these themes will continue to work for at least the next couple of versions. You should find it fairly simple to convert your themes to the new system. The old default themes only took a few hours to convert over.
Using the framework theme is of course, just an option. You can still go ahead and create your own frameworks or mashups with a completely unique style or structure. As with WordPress themes, the possibilities are infinite.
If you’d like to get started with the new framework, I’d recommend running the trunk version of BuddyPress. The best way is to fetch this via Subversion, or you can download a zip of the current snapshot using the link at the bottom of this Trac browser page.
BuddyPress 1.1 is on track for a September release.
Update:: There seems to be confusion about using existing WordPress themes. You can still use any existing WordPress theme and copy over the extra templates from the framework theme. This will allow you to continue to use your current theme and also keep the same look and feel for BuddyPress features. You may need to make some some CSS adjustments.
Mohit Kumar said on August 27, 2009
Just used the new theme framework.Its awesome.You can customize it as you want.
Try at http://buzzlyf.com
All the customization took me just 5 minutes of coding.
Thumbs up for new framework Idea.
Congrats ANDY for such a nice work
James said on August 27, 2009
Strange. What I’m trying out, is I created the /bp-themes directory under wp-content, (folder is empty though) which loads the admin bar when using my thesis them. However, sounds like they’re going to be phasing this out in the near future.
Going to keep working on this. I also found, if you copy just the folders, out of the bp-sn-framework, to your current them you’re using, all the buddy press directories then work, like /groups, /members, etc.
andisites said on August 27, 2009
Very cool on the new theme architecture. After playing around with 1.1 a little, can I assume that I shouldn’t really be using it for anything other than themes? Like when I create groups in wp-admin they don’t show up in the site, bbPress won’t integrate properly (it won’t let me access bb-admin, and it forwards itself to another bbPress install I did on a completely different domain), etc…. I didn’t have any of these problems when I installed 1.0.3, so I’m assuming it’ll all work perfectly in 1.1 when it comes out in September. I can’t wait!
Juker said on August 27, 2009
@ simonbennet and James,
We are in the same boat as you guys – We offer our blog farm members the complete Brian Gardner set of custom themes to choose from and we are using Headway instead of Thesis to create additional custom themes.
Our hope is that Andy and the Buddypress team will stay completely out of the theme business and produce a plugin that is compatible with and interactive with an already thriving WordPress theme industry. – By adding the same generic Admin side third party theme selection for Buddypress that WordPress already offers will give Andy’s plugin the push over the top that it needs.
If Buddypress were a stand alone package it might be necessary to have it’s own theme structure but because it is a plugin for WordPress there is no need for a separate theming process. – Especially one that potentially interferes with the use of existing WordPress themes. – For us Buddypress is a PORTAL program which should run in the background for WordPressMU. It provides vital social interaction but it should not be designed to encroach upon or overpower the functionality of WordPress.
We mean no harm!
simonbennett said on August 27, 2009
Juker,
Well said. I must say though, I currently use the Church theme for my main site and have a buddypress home theme selected at a subdomain which is linked to on my main navigation menu as “Social Network”.
This way, the main site operates on a wordpress theme as normal and the buddypress home theme is used on the Social Network sub-domain.
However, for the life of me I cannot get this to work on the new framework structure. It makes a right mess of the wordpress theme.
Also, anyone else lost the “Album” functionality on the latest trunk? The album page returns a 404, lol.
Juker said on August 27, 2009
Hi Simon,
Ditto! – We offer our bloggers a choice of Brian Gardner themes so if someone wants the church theme, the magazine theme, or the video blog theme they can pick and choose. Like you we have a link to Buddypress called Community Portal on our homepage and we use a modified version of the Avek9theme on the community portal pages. It’s one size fits all so regardless of which homepage theme our users choose they only have one choice with the community portal pages. We are writing a mod which will offer color options to help with the look and feel.
If it comes down to a choice between scrapping Buddypress or scrapping our themes I’m afraid the Buddypress plugin will lose. All of the functionality which Buddypress now offers (groups, friends, messages, wire, etc.) is available through the combination of three other wordpress plugins and although it’s kind of a hassle to integrate them none of them present problems with theming.
What is heart wrenching is that we really like Buddypress. As coders ourselves we can say Andy and his team are superb coders and we are really impressed. We are going to set up an Xampp test site and see how difficult it is to get the new trunk architecture to work with standard WordPress themes and we will let you know the outcome.
Juker
Andy Peatling said on August 27, 2009
These changes are nothing to do with blog themes. BuddyPress will continue to work the same way except the root blog theme has merged with the member theme. There is no difference other than that. Your users can use whatever blog theme they want.
Andy Peatling said on August 27, 2009
As I mentioned in my post, the old way was a hinderance to the majority, but worked for the minority. There are going to be people in the minority for which the change may affect them negatively. You can’t please everyone.
James said on August 27, 2009
@Andy
Is there any way to not merge the root blog with the buddypress theme?
I can’t for the life of me, to get it to work with thesis. But on the current public release, integrating it as the root blog is simple.
With the latest trunk, I just see to many limitations for users out there, that don’t want to build a theme based off the core buddypress design, and want to use the framework of thesis for the current blog, or any other premium theme.
Anyways, thanks for all your hard work on this!
Andy Peatling said on August 27, 2009
James: Just copy and paste the template files from the framework into the theme you are using (other than the blog template files), it’s as simple as that. Make any changes you want.
This is no different from what was there before other than two themes have merged into one. You are not required to use the framework at all.
simonbennett said on August 27, 2009
Andy,
I still live in Britain – you must have forgotten that here in the UK the minority gets preferential treatment over the majority!
: P
You’ve been in Canada too long!
James said on August 27, 2009
@Andy
Thanks, going to give this a shot.
simonbennett said on August 27, 2009
I added this line to the stylesheet of my main theme and now it all works fine:
@import url( ../../../bp-default/_inc/css/adminbar.css );
I also changed the margin of my main theme to allow for the 35px of the adminbar.
Job done.
Juker said on August 28, 2009
Hi Andy,
With all due respect dear brother,
RE: – Your Statement – “These changes are nothing to do with blog themes…….. Your users can use whatever blog theme they want.”
The Buddypress themes have “everything” to do with the WordPress blog themes because once integrated “together” they both become “competing skins” on the “same website” . – No matter how simple it is to skin Buddypress once your plugin is activated in our WordPressMU website it introduces a completely independant theme on about 10 web pages to the mix. So there is no problem if we WordPress bloggers are satisfied with websites that have 10 pages of content with a blog theme and another 10 pages with a Buddypress theme. But if we want our sites to have a consistant look and feel then we need to have only ONE common theme throughout.
So where does that leave us? – You have provided us with a much needed and wonderful social networking script that right out of the box we have had to spend several days completely reskinning it to match our website master theme. – We offer our bloggers 12 themes to choose from so that’s one down and eleven to go. – Plus we must write a script that will combine the matching themes. – The same goes for BBpress which also has it’s own theme structure.
This is not some isolated incident or unique situation but rather something that will impact every WordPress user who wants to incorporate your incredible script. – Yes our users can use whatever blog theme they want but I can assure you they will also want that same theme to be the only theme they have.
The point we are trying to make is that if you are planning to offer Buddypress as a stand alone Social Networking Program complete with Custom Themes then you are on the right track. – But if you offer it as a plugin to WordPress with access to a vast collection of already existing themes then you need to alter your script to automatically copy and paste the WordPress theme stylesheets and css into Buddypress to provide uniformity.
I won’t bother you with this again because I don’t want you to feel that I am badgering you. We are on the same team and I really want you to succeed. Thank you for all of the tremendous hard work!
Juker
Andy Peatling said on August 30, 2009
Juker: send me a private message and explain your setup in detail. I can’t completely grasp your position.
gday301 said on August 30, 2009
I’ve been reading this thread as well as the forum post on this but unfortunately I am still a bit confused. I want to use the new system because it seems better from what I’ve read and since that is the way things are moving it just makes sense. But what I am missing is that I read that any theme that is set up right can be a parent theme. Are we talking any theme that works as a wordpress parent theme will work as a buddypress parent theme or does the parent theme need extra stuff to work on the social networking side. I’ve tried switching the parent theme (think I did it right) to a wordpress theme and the blog pages look fine but all my social content is gone, saying page not found. Right now I am working on a local installation, latest wordpress mu, with buddypress plugin (with the zip from the svn)using wamp. I’m probably misunderstanding something simple or missing a step, any help would be appreciated.
madloki said on August 31, 2009
Waiting is sooooo horrible, tomorrow is september the 1st … with buddypress 1.1? B-) I stop my work on the 1.0.3 at this time.
- Ist there an gallery in 1.1? Some posts, different opinions, don´t know.
- Also an better user management to activate / deactivate functions for guests/user and other groups?
Go go go andy and many thanks
Andy Peatling said on August 31, 2009
madloki: You should be using the subversion trunk, then you wouldn’t have to wait and could see what is coming before release time.
gday301: Please read up on how child/parent themes work. I will be writing more articles/documentation around release time.
Mark said on September 1, 2009
I am pulling my hair out. Home page one template, groups/wires/friends different template, bbpress third template. Is there a tutorial or any documentation anywhere that explains how to use the new “simplified” templating system to kill at least two of these birds?
Andy Peatling said on September 1, 2009
@Mark: there will be more instructions nearer the release.
Imran | IT Buzz said on September 1, 2009
That’s really i wanted. when i integrated my blog with buddpress 1 it was good enough but the theme change really leads visitor to a thought that they had been redirected to some other site. I noted it by my stats which is having 49% exit page of buddypress. Its really good to know that new version is with single theme.
Christopher said on September 1, 2009
Does buddypress have any kind of membership levels or plugin for that?
The last time I tried Buddypress it was in beta and quite unstable. I’d like to try again now that the themes will be a bit more manageable, but I’d like to be able to turn on and off blog creation & forum access & image galleries (and image upload size) depending on membership type (free or paid) to be able to afford a server upgrade.
Have the mysql queries been optimized at all so a very small community could be run on a shared host like hostgator?
1stAngel said on September 2, 2009
Completely agree with Juker. I love the normal WordPress themes and have a main WP site that links to the Network. I want the sites to merge cosmetically and not to become another site as it so blatantly is at present.
BP is a plugin and a very good one but should not take over so as to remove anyone who has scant ability in the theme department from using it with plain WP themes, of which there is a wonderful mix.
raginwolf said on September 5, 2009
Every Buddypress theme I install displays warning messages all over!
Anybody have this problem? Is there a fix?
modemlooper said on September 11, 2009
One theme is the way to go. This approach is opening up a new WP theme industry. Most people will not be happy that they cannot just add this plugin and use their current WP theme without modification.
seajma said on September 18, 2009
Hello and thank you!
If I understand you correctly, “You can still use any existing WordPress theme and copy over the extra templates from the framework theme. This will allow you to continue to use your current theme and also keep the same look and feel for BuddyPress features.”
For the sake of us “challenged” folks, is there somewhere I can read, or someone that can tell me specifically how to do these framework copying steps?
Thanks again
Paul said on September 21, 2009
It’s September 21st, any news on when BuddyPress 1.1 is going to be released?
Paul said on September 21, 2009
When you stated, “BuddyPress 1.1 is on track for a September release” did you mean beta or production?
designodyssey said on September 30, 2009
I guess given the timeline, I should wait for readme’s and release notes, but given the architecture discussion here, I’ll ask. I’m using Theme Hybrid and want to keep using it.
I want to create something that uses BP like TastyKitchen or GigaOM. Given the parent/child structure, I was hoping to simply just add BP templates to the parent and then use the child to modify both Hybrid and BP templates to create a custom child.
How would one go about this? Is doing something like Tasty Kitchen so involved that frameworks just get in the way?
tedrubin said on November 25, 2009
I guess i have a hard time grasping this, We need to copy the template framework into our existing wordpress MU theme and it should enable the features from Buddypress? And that will link “my” theme to the child theme?
Adam said on November 27, 2009
This looks sweet – like the idea of being able to use existing wordpress themes with it
A
Chase said on December 11, 2009
Wow, for such a great WPMU plugin, people sure do complain a lot. I feel for you Andy! But like you said, you shouldn’t have to cater to the minority, especially when they want everything done, perfectly, for free. The new framework is a huge step in the right direction, it’s sad there are so many that can’t take 2 seconds and try to actually understand what you’re saying.
For the people complaining, RTFP. Thanks.
Mobi said on February 14, 2010
Not a lot buddy theme on the web
PubDirLtd said on June 9, 2010
I came here hoping to find some words of wisdom about how to integrate BuddyPress with Thesis, my chosen WP theme. No such luck. Its almost as if WordPress and BuddyPress live in different worlds, which I find totally infuriating and I am sure is complete marketing ignorance. Either that or, not uncommon in these circles, pure developer arrogance about who’s way of doing things is better. They say success breeds contempt, don’t they, an they also say pride comes before a fall. Let’s hope I am wrong on both counts. Because in this online world we all infest, the developer(s) of BuddyPress/BBPress etc seem so far removed from the sharp end, that they think actually think THEY are steering the ship. I thought they knew that its interoperability and forming winning alliances that is the evolution of online success, these days, especially when they chose WordPress as their primary alliance. What a waste of effort they have created and what a terrible, crying shame they forgot about the benefits of interoperability when they laid out their product road-map. Guys, BuddyPress is, even now, just a shadow of what it could be. What it might be. I can only hope that somebody, somewhere, wakes up and smells the caffeine.
Attila said on July 9, 2010
These changes are nothing to do with blog themes. BuddyPress will continue to work the same way except the root blog theme has merged with the member theme. There is no difference other than that. Your users can use whatever blog theme they want.