Discussion forums have been around for almost as long as the internet itself.
Even before the World Wide Web became popular, people were sharing information and discussing topics using terminal server bulletin board systems. In fact, my very first experiences with the Internet back in 1998 revolved around the chat rooms and discussion forums on AOL. Boy do I look back nostalgically at those halcyon days ;-)
The modern discussion forum retains the core idea of what is now a very well-established concept — sharing information and discussing topics — but has evolved into a lightweight plugin for WordPress that can be installed in a matter of minutes.
I am talking about bbPress – the WordPress forum software built by the very guys who created WordPress itself. In this post I am going to explain exactly what bbPress is, why you may need it, and also show you how to install it.
Why You Need bbPress
- It’s lightweight. Forum software is traditionally bloated, full of security holes, and a real drain on your server. The latest version of bbPress (v2.3.2) is just 2.9MB compared to 11.3MB for phpBB and 60MB for vBulletin.
- It’s fully integrated with WordPress. This benefit goes beyond the ease of installation. bbPress takes advantage of the WordPress user management system, and has access to the vast WordPress plugin repository, where you’ll find a decent number of specific bbPress compatable plugins. One of these is BuddyPress, a template for a WordPress-based social network that actually uses bbPress to power its forums.
If you want to start a traditional bulletin board or new social network then bbPress probably isn’t for you (although do check out BuddyPress as a basis for the latter!)
However, if you want to add a community element to an existing blog (example: MakeupGeek) or a support area for your clients (example: DropBox forums), you’ll be hard-pressed to find something better suited than bbPress.
What Is bbPress?
Any site owner needs to understand what’s going on within their plugins, just in case disaster strikes.
bbPress is simply three custom post types, some layout templates, a system of shortcodes, a couple of widgets, and CSS code. That’s why it’s called lightweight!
Custom post types
The three custom post types are:
- Forums: which holds each discussion forum you create, allowing a hierarchy of forums to be created
- Topics: which holds each discussion thread (the title and opening post)
- Replies: which holds each individual reply to a topic
The standard layout templates are suitable for most instances. For example, the topics layout will display a list of topics with the following information:
- Topic name
- Who started the topic and in which forum they started it
- The number of people engaged in conversation (voices)
- The number of replies to the topic
- How long ago the last reply was and who made it (freshness)
The various elements can be styled with CSS to better fit your blog, but if you want to make substantial changes to the structure, you’ll need to be comfortable with PHP.
Shortcodes and widgets
bbPress makes it simple to display the various elements of the forum wherever you want to through a series of shortcodes and widgets. This is actually an incredibly powerful feature, allowing you to consider usability and responsive design.
For example, you can create a page listing the latest topics with a selection of the most popular posts highlighted in your sidebar by using just one short code and one widget. If you decide you prefer a more traditional forum layout listing the categories, you can switch things around in minutes.
To give you a feel for the flexibility, check out all 19 shortcodes here.
The included widgets are:
- Forums list
- Recent replies
- Recent topics
- Topic views list
- Login widget
The login widget is especially useful, displaying a login form to visitors, and a profile link to logged-in users.
If you decide to give bbPress a go, installation couldn’t be simpler. Just search for bbPress in the WordPress plugin directory, hit install, and you’re done. Alternatively, if you want to use the plugin as a basis for development, or just to take a closer look, you can download a copy from the WordPress plugin repository.
Once setup, you’ll notice the three new custom post types in the admin menu, and a bbPress page in the Settings menu.
Before you dive in and create the forum of your dreams, spend some time in the settings menu. In particular, you’ll want to tweak the spam settings, including:
- Throttle Time: the minimum number of seconds allowed between new replies from the same user
- Allow Anonymous Posting: Disable this to require a user to register for an account to post a topic or a reply
Once you’ve done this, it’s good to create a number of sample forums, topics, and replies, preferably from several different user accounts, before you start to tweak the design. With dummy data you’ll be more likely to spot things that need fixing with CSS, particularly on mobile devices.
As mentioned earlier, bbPress is easy to extend through a large number of plugins. Here are some to consider.
bbPress Admin Bar Addition
This lightweight plugin adds a menu to the WordPress admin bar full of admin links and bbPress resources. A simple timesaver. More information →
This plugin sends an email notification to users when new topics and/or replies are posted. It’s useful if you’re operating a support forum and need a particular person to respond to questions in a particular forum, for example. More information →
GD bbPress Tools
One of the more comprehensive bbPress plugins available, this adds BBCode support, user signatures, additional custom views, in-reply quotes, plus some additional admin features. More information →
The Best Forum Solution?
It’s lightweight, quick, and easy to install, but is bbPress the best forum solution for your WordPress blog? There’s only one way to find out — grab a copy, install it on your site and start experimenting!
Now it’s time to get your feedback. Are you a bbPress user? Do you consider bbPress to be the best forum solution for WordPress users, or do you prefer an alternative solution? What’s your experience of adding a community element to your blog?
Please give us your answers to the above questions in the comments sections below. Alternatively, if you have any other comments or questions, please fire away!