Are you looking to build an online community? With WordPress and bbPress, it’s easier than ever to add a forum to your WordPress website. It’s a great way for people to connect with each other, makes it easy for them to openly discuss a wide variety of topics, and can also be used for a customer support forum.
If you’re looking for quality shared hosting for your WordPress website, we highly recommend A2 Hosting. They offer unlimited SSD space, free automatic site backups, hosting optimized for speed and 24/7/365 guru technical support.
For those of you who’d rather watch a video, here you go.
Table of Contents
bbPress is a WordPress plugin which relies on WordPress core. This makes it super easy to add a forum to your site. You can also extend its functionality with all kinds of add-ons. Most importantly, bbPress is lightweight and quicker than most other open forum software applications.
Main bbPress features
bbPress comes packed with basic features, as well as a wide array of extensions to take your forum to the next level.
Among the built-in features are the following:
- The ability to create numerous discussion forums.
- Easily organize forums, topics and replies with the usage of categories and tags.
- A variety of shortcodes and widgets to display forums in various areas of your website.
- The ability to restrict forum topics and replies to ONLY logged-in users, or let anyone view them.
- The option to send out subscription emails to forum users.
- Import forum data from a number of other platforms.
In addition to bbPress’s core features, there is a wide array of useful add-ons to further extend its functionality.
bbPress Moderation – Changes the status of new topics and replies to ‘pending,’ and displays them as ‘awaiting moderation’ until approved by an administrator.
bbPress Report Content – Gives your forum users the ability to report spam or inappropriate content in both topics and replies. It adds a ‘report’ admin link on topics and replies, and shows a post status of ‘user reported’ when clicked by a logged-in user.
bbPress Notify (No Spam) – Sends notifications via email when new topics or replies are posted in any forum. It can be fully-configured in the bbPress settings area.
bbPress reCaptcha – Lets you add a reCaptcha system to new topic and reply forums in an effort to help fight spam submissions. It’s very easy to use, and can be activated in a matter of minutes.
GD bbPress Attachments – Lets you handle attachments for forum topics and replies through the WordPress media library, and control file sizes in main plugin settings as well as individually in each forum.
Feel free to browse through all of the bbPress extensions here.
To install bbPress, simply head on over to Plugins > Add New in your WordPress dashboard. Search for bbPress and click the Install Now button once it shows up. As soon as you finish installing it, click Activate.
Once you install the plugin, you’ll notice that Forums, Topics and Replies menu items have been added to the left sidebar of your WordPress dashboard.
To add your first forum, click on Forum > New Forum. This will bring you to a page which resembles the WordPress post or page edit area. Choose a title for your forum and then enter a description if you’d like.
Type – In the first dropdown, choose whether you want to create a new Category or Forum.
You want to use categories to group numerous, related forums. Think of forum categories in the same way you treat post categories on your site. They are simply meant to help you organize your forums in a logical, structured way.
For example, you could have a Cars forum category, then have various car brand forums within that category. Forums can belong to multiple categories, and you can choose one main or parent category for each forum.
Status – Here, you can choose from Open or Closed. Since you’re creating a new forum, you’ll want to leave it open so people can freely post replies. When you set a forum’s status to Closed, it prevents users from posting new replies, but it will still be visible.
Visibility – In this section, you can control who has access to your forum. When you choose Public, the forum will be visible to all of your website visitors. If you set the forum to Private, it can only be viewed by registered users. To completely hide the forum from everyone except forum moderators and site admins, choose Hidden from the dropdown.
Once you’ve configured all of your forum settings, go ahead and click the Publish button.
Now that you’ve created a forum or two, you can display it on the front end of your WordPress site. There are a couple different ways to do this.
You can go to Forums > All Forums to view all of the forums you’ve created. Click on the View link below any forum, and you can see what it looks like on your site.
Alternatively, you can embed forums on a page (if you want to include other content on that page). First, simply add a new page, and give it an appropriate title.
Once you’ve made your new page, go ahead and add the following shortcode to display your forum:
Make sure that comments and trackbacks are disabled on this particular page, and then go ahead and publish it.
Click here for a complete list of bbPress shortcodes.
Hopefully you are using a theme which works well with bbPress, and your forum shows up nicely on your site. If you want to adjust the visual appearance of it for any reason, you can always refine it using CSS.
For more info, please refer to the CSS section of bbPress’s codex here.
Adding your forum to a navigation menu
To add your forum to your site menu, go to Appearance > Menus and add your newly-created forum or page to the correct navigation menu.
In the majority of cases, you’ll want your forum to be open for new registrants. To enable this, you have to make sure that your site allows anyone to register.
Head over to Settings > General, and under Membership make sure the box next to Anyone can register is checked.
You will need a few essential pages for your forum, including the following:
Now that you’ve enabled new registrations, you will need to create a registration page. Create a new page, title it however you’d like and add the shortcode [bbp-register]. Then click publish.
Lost password page
In addition to the registration page, your forum members will also need a lost password page where they can reset their password if need be. Make another WordPress page (you can call it Reset Password or something similar), add the [bbp-lost-pass] shortcode and hit publish.
Adding bbPress widgets
bbPress includes a number of forum-specific widgets, including the following:
- Forum Search Form
- Forums List
- Login Widget
- Recent Replies
- Recent Topics
- Topics Views List
While you don’t need to add them all, you should definitely add the (bbPress) Login Widget to make it easy for your forum members to login. Under Appearance > Widgets, drag it to your sidebar or other highly-visible widget area.
Choose a title (e.g. Login or Forum Login), and enter URLs for both your registration and lost password pages. Finally, save the widget and you’ll have a login form in your sidebar (or wherever you added it).
Now, you’ll see a login form with links to Register and Lost Password pages below it. When a user is logged in, the widget displays his/her username as well as a log out link.
You – and any logged in forum users – can create a number of topics that users can view and reply to.
In the WordPress admin dashboard, the Create New Topic screen will look like the screenshot below.
For all other forum users, the add topic screen will be available on the front end of your site, and look similar to the example below.
To create a new topic, do the following:
Give your topic a name, and add a description for it if you’d like.
Type – Normal is the default setting, but you can choose Sticky or Super Sticky if you’d like a particular topic to have increased visibility.
Status – New topics are set to Open, which means that they can be viewed and replied to by all eligible forum members. You can also moderate existing topics, and mark them as Closed, Spam, Pending or Trash.
Forum – Here, you can set which Forum your new topic should belong to.
Set up your topic options, then click Publish (in WordPress dashboard) or Submit (in the forum user front end version).
As soon as people start posting on your forums, you can moderate the topics and replies directly in your WordPress dashboard.
In addition to viewing topics and replies, you can create new content and edit any existing forums, replies and topics if you’d like.
Configuring bbPress forum settings is very straightforward, and can be managed by going to Settings > Forums in your WordPress dashboard.
Disallow editing after – This option allows forum members to edit a post for a set period of time after they first publish it. The default setting is 5 minutes, but feel free to change it to whatever you’d like. Members WILL NOT be able to edit their posts after the specified time, but Keymasters and Moderators can adjust this on a per-post basis as needed.
Throttle posting every – Use this to prevent the forum from being flooded with new posts. It lets you set the amount of time between when a post is published and when it shows up on the forum. The default is 10 seconds, and you can leave it as is.
Anonymous posting – If you check this option, guest users without accounts can create topics and replies. Leaving this unchecked is a good idea because enabling it could result in an increased amount of spam.
Auto role – Here, you can choose which role is automatically given to registered forum visitors.
Revisions – This simply allows for topic and reply revision logging.
Favorites – Check whether you’d like to allow forum users to be able to mark topics as favorites or not.
Subscriptions – Allow users to subscribe to forum topics or not.
Topic tags – Set whether topics should have tags or not.
Search – Lets you choose whether or not to include a forum-wide search function.
Post Formatting – Add a toolbar and buttons to text input areas so users can format their posts with HTML.
Auto-embed links – This lets forum users embed media from YouTube, Twitter, Flickr, etc. directly into topics and replies.
Reply Threading – Enable threaded (or nested) replies, and specify how many levels.
Topics and Replies Per Page
In this area, you can specify how many topics and replies to show on each page. The default of 15 should work just fine for both of these, but change them to suit your site’s needs.
Topics and Replies Per RSS Page
Here, you can specify how many topics and replies appear on RSS pages. You can just leave the default setting of 25 for each of these as well.
Forum Root Slug
Forum Root – You can specify a root which will appear in your forum permalinks. The default is forums, but you can change it if you’d like.
Forum Prefix – Here, you can choose to disable the forum root, but this is NOT recommended.
Forum root should show – Choose either Forum Index or Topics by Freshness to adjust what is displayed on the main forum page.
Single Forum Slugs
Forum – Set the slug you’d like to use for individual forums.
Topic – Choose a tag for topics or sections of your forum.
Topic Tag – Enter a topic tag slug which can be used to filter posts.
Topic View – Set a slug to use for when a topic is being viewed.
Reply – This slug will be used in post replies.
Search – Define a slug for forum search results.
Forum User Slugs
User Base – Select a general slug for forum users.
Topics Started – Choose a slug for topics created in the forum.
Replies Created – Set a slug for post replies.
Favorite Topics – Enter a slug for favorite forum topics.
Topic Subscriptions – Pick a slug to be used for topic subscriptions.
There are five default user roles in bbPress, each with different capabilities.
Keymaster – This is the role automatically assigned to WordPress administrators when the bbPress plugin is installed. As a keymaster, you can create and delete forums, as well as create, delete, and edit all posts, topics and forums. Basically, you have complete control over the forum on your site.
Moderators – With this role, you can moderate all forums, topics and posts.
Participants – As a participant, you can create and edit your own posts and topics, as well as favorite and subscribe to forum topics.
Spectators – In this role, you have limited, read-only access to public forums, topics and posts.
Blocked – If a user is blocked, all of his/her posting abilities are suspended. A blocked user can still read public posts and topics, but is unable to participate.
As you have learned in this tutorial, creating a bbPress forum on your WordPress website is a relatively quick and easy process. If you’d like to add features to your forum, you can choose from a wide array of official bbPress extensions. In addition, you can easily customize its appearance with CSS if it doesn’t look great on your site out of the box.
Do you have any questions about adding a bbPress forum to your WordPress site? Feel free to leave a comment below, and I’ll try to help you out. While I cannot guarantee to help you fix your problem, I’ll try to point you in the right direction.
If you found this post helpful, please share it and spread the word!
Want more content like this? Sign up for my newsletter to receive helpful WordPress Tutorials, Tips and Tricks.