Make A Complete Community Site With Buddypress (& WordPress)
We’ve talked before about various plugins that can dramatically change and enhance the underlying functionality of WordPress, as well as rolling your own custom plugins and widgets – it can become basically anything you want it to. Until now though, we haven’t really talked about making WordPress into a community site. By default, users can register in WordPress and have their details remembered for commenting – that’s about it really. BuddyPress gives you complete user profiles, activity streams, and groups. If you’re considering a community site, this needs to be the first free project you check out.
BuddyPress is completely free and open source, and after an acquisition in 2008 is owned by the creators of WordPress (Automattic), so you know you’re in good hands. Just like WordPress, BuddyPress has a thriving community with themes and plugins.
Do you really to make a community site?
The first thing you should consider is that the nature of a community driven site means you actually need users. If you’re not confident in your abilities to promote a site, gather users and encourage activity – a community site is going to be a lonely waste of effort. I would say don’t start your first web project as a community site – and especially don’t tackle this if you’ve never used WordPress before. If your existing WordPress site has reached a tipping point and your users are struggling for more interaction, BuddyPress may be the perfect logical step; or perhaps you’ve identified a niche for which no decent communities already exist.
So, what exactly does BuddyPress do for you? Let’s go over the main features; note that the majority of them are optional – you don’t need to allow user groups if you dont want them, for instance. In fact, it may be easiest to start off only with minimal features while you work your way around the system and get users to join.
Extended User Profiles
Traditionally, adding user editable profiles on the front end was something that needed to be custom programmed; adding additional user profile fields specific to your site was even more difficult. BuddyPress makes it easy for all users to have a publicly accessible profile, as well as the ability to edit their nickname (not their username). A full front-end registration and login is provided also.
By default, the user can upload an avatar, or their gravatar will be used.
From the BuddyPress admin screen, you can also add as many profile fields as you like – either required at registration, or to be filled out at users leisure.
Friends and Private Messaging
No community site would be complete without a friending function and messaging; messages can be sent between multiple members also, so it’s not just one on one.
Users can post short status updates to the stream, which can then be favourited or commented on; much the same as Facebook.
The activity stream also displays new friendships, new members etc. By default, new posts from the main WordPress install and comments will be listed there too; think of it as a super index page.
Using @mentions you can bring others into the conversation too, just like Twitter. Though many BuddyPress developer say this confuses users, BP Labs is a helpful little plugin which it makes it more useful by adding autocomplete.
This component allows your users to separate themselves off in public or private group. Each group gets their own member listing and activity stream, and their own forums if you have that enabled.
Two options are available here and both make use of the bbPress plugin (also from the creators of WordPress). You can either setup sitewide user forums by simply installing bbPress, or you can enable a special group mode, which enables forums for each individual user group. Sitewide is probably best for small sites to avoid the inevitable empty forum syndrome.
Setting up the forums is a little difficult though; you’ll need to resolve some permalink conflicts and delete the page called “forums”, as well as empty the trash. If you’re having trouble, ask away in the Answers forum or perhaps I’ll write a full tutorial on understanding the forums component.
As I mentioned, there are hundreds of plugins available for BuddyPress; I’ll do a separate post about these in the future.
On the theme side, specific BuddyPress themes are quite limited: there are only around 10 premium ones listed on ThemeForest, with only 11 in the main WordPress theme repository. That said, there’s also a BuddyPress Template Pack available which walks you through the process of making your existing theme compatible with BuddyPress, so that’s worth a go if you have a theme you’re set on.
Add BuddyPress to an existing WordPress install through the regular plugin install page. Once downloaded, you’ll be taken through a short 5-step setup procedure where you can choose the components you need, the permalink structure and theming options. Much like the main WordPress install, there’s very little to explain after this point; browse to your main page and you’ll see it all working nicely.
Personally, I think some of the core BuddyPress components should be built into WordPress; some might argue this would lead to bloat, but being able to deactivate features you don’t need would be great. Creating communities is a great way to encourage repeat users, which are far more valuable than random search engine traffic in the long run. Do you currently use BuddyPress anywhere? What do you think of it – are they any disadvantages or problems you’ve come across? Let us know in the comments, and expect more on BuddyPress in the coming weeks!