Create a Social Network with WordPress & BuddyPress
To once again demonstrate the versatility of WordPress, this post will be showing you how to create a social networking site using WordPress and the BuddyPress plugin. This is what the BuddyPress site has to say :
Social networking in a box. Build a social network for your company, school, sports team or niche community all based on the power and flexibility of WordPress. BuddyPress is completely free and open source. Unlike hosted services, BuddyPress allows you to stay in control of your site and create a totally customized, unique experience.
BuddyPress adds a lot of new features to your site that you will find at most social networking sites:
- Activity Streams: Global, personal and group activity streams with threaded commenting, direct posting, favoriting and @mentions. All with full RSS feed and email notification support.
- Extended Profiles: Fully editable profile fields allow you to define the fields users can fill in to describe themselves. Tailor profile fields to suit your audience.
- Friend Connections: Let your users make connections so they can track the activity of others, or filter on only those users they care about the most.
- Private Messaging: Private messaging will allow your users to talk to each other directly, and in private. Not just limited to one on one discussions, your users can send messages to multiple recipients.
- Blogging: Start a blog built on the best blogging software in the world. Even allow each of your users to start their own full powered WordPress blog. Track new posts and comments across your site.
- Extensible Groups: Powerful public, private or hidden groups allow your users to break the discussion down into specific topics. Extend groups with your own custom features using the group extension API.
- Discussion Forums: Full powered discussion forums built directly into groups allow for more conventional in-depth conversations.
View a working demo of the plugin here.
Installing the Plugin
The easiest way to install BuddyPress is to start with a fresh installation of WordPress and use the base theme that comes with the plugin and customise it by adding a child theme. You can however, add BuddyPress to an existing site with your own theme by using the BuddyPress template pack. This guide will cover setting it up with a fresh installation of WordPress.
Once you have installed WordPress, login to the admin panel and go to “Plugins” > “Add New”, enter “BuddyPress” in the search box and click “Search Plugins”. Click “Install Now” next to the BuddyPress plugin.
On the next screen, enter your FTP details and click “Proceed” and the plugin will begin to download the plugin, once its done click link “Activate Plugin”.
The next thing to do is activate the default theme, go to “Appearance” > “Themes” and activate the BuddyPress default theme.
Configuring the Plugin
After the plugin and theme are activated, you will now see a new menu option in your WordPress admin, called “BuddyPress” it contains 4 options: General Settings, Component Setup, Forums Setup and Profile Field Setup. I will now guide you through these options.
This is where you can configure the main settings for your site, you dont have to change anything here, I left everything as the defaults.
- Base profile group name: This used to be displayed on member profiles but is now hidden, can leave this as is.
- Full Name field name: The member’s full name is displayed with this label.
- Disable BuddyPress to WordPress profile syncing?: Leave this as no, it will synch profiles between the BuddyPress plugin and WordPress members.
- Hide admin bar for logged out users?: Leave this as yes, no need to show the top admin bar for guests.
- Disable avatar uploads? (Gravatars will still work): Leave this as no unless you dont want people to be able to upload their own avatars.
- Disable user account deletion?: Allow users to delete their own accounts.
- Disable global forum directory?: Decide whether to show a forum directory on your site.
- Disable activity stream commenting on blog and forum posts?: Choose whether to let people comment on forum and blog posts directly from the activity stream.
- Default User Avatar: Choose which style of gravatars you would like as a default for your site.
The next section is “Component Setup”, this is where you can choose which parts of the BuddyPress plugin you’d like to use on your site. You can enable or disable the following:
- Activity Streams: Allow users to post activity updates and track all activity across the entire site.
- bbPress Forums: Activates bbPress forum support within BuddyPress groups or any other custom component.
- Friends: Allows the creation of friend connections between users.
- Groups: Let users create, join and participate in groups.
- Private Messaging: Let users send private messages to one another. Site admins can also send site-wide notices.
- Extended Profiles: Activates customizable profiles and avatars for site users.
If you want enabled the forums component in the previous settings, then you will need to set it up here. Click “Setup a new bbPress Installation”. Depending on your installations file permissions, you may get the following screen :
If you do, just copy and paste all the text shown into a new text file and save as bb-config.php, then upload this to the root of your WordPress installation via FTP. Your forums will now be installed.
Profile Field Setup
This section will be unique for your site, depending on what niche it is in or who you are targetting with your social network. It allows you to add as many custom fields for your member’s profile page. For example, if your network is aimed at web designers you could enter custom fields for: Job Title, Porfolio URL, About Me, Favourite Websites, Linkedin URL etc.
By default, BuddyPress only one profile field for “Name” in the top group – anything in the top group are added to the signup page.
Click on “Add New Field” and we will setup a custom profile field. For this guide, Ihave chosen to enter a field for a Linkedin profile, you could also use a Facebook url, Twitter url and so on. Enter a title for this field and a short description. Then choose if this should be a required field or not and finally choose which format that field should be. I have chosen text box as it is a one line url. You have the choice here to use a multi-line text box, drop down, check boxes etc.
Repeat this step and add it as many extra fields as you think your site requires.
You now have a working installation of BuddyPress, if you head over to the site you will find a number of themes and plugins made specially for BuddyPress. I will go into these in detail in future posts.
I really like BuddyPress, its really easy to install and configure and provides a social network with all the main features required and is easily extendable because its based on WordPress you have all the plugins for WordPress available to you, to add on to your site.
If you create a BuddyPress site or have any questions about this plugin, please leave your comments below …