bbPress: How to Add a Forum to Your WordPress Site
bbPress is a WordPress forum plugin, and one of the most popular plugins of its kind. Its development team includes Matt Mullenweg, founder of WordPress. Building a community is one of the greatest ways you can invite your audience to interact with your site more often.
It’s also an easy way to provide support if you find it difficult to keep up with requests as a forum allows members of your community to help each other. Forum plugins like these make it simple for you to add a forum to your WordPress site without having to develop one from scratch.
Importing Your Current Forums into bbPress
bbPress allows you to import forums from over 20 different forum software, including:
Visit the Import Forums section of the plugin’s documentation if your site already has forums and you’d prefer to transfer them over rather than start from scratch. Once you’re ready, go to your WordPress dashboard.
After you install the plugin, you’ll see a new selection called Forums when you hover over Tools. Select the Import Forums tab, and follow the documentation, from bbPress and your individual forum software, to import your forums.
Creating a Main Forum Page
Creating a main page where users can access your forums should be your first step after installing bbPress. There are two ways you can do this. Method one would be to create a parent forum called Forums, or your preferred forum name, and add that forum to your main menu structure.
Method two would be to create a new page and insert a shortcode that will add your forum’s main index to the page. I’ll show you how to do both so you can decide for yourself which method you’d like to use.
Method 1: Creating a Parent Forum
You’ll see three new selections in your WordPress admin area after you install the plugin:
Go to Forums, and select New Forum.
Enter Forums, or your preferred forum name, as a title. You can add a short description in the text editor.
Change the Status to Closed over in the Forum Attributes section. This ensures no one can post a new topic to your main forum as this forum is merely a directory for the various sections of your forum.
Click Publish to create your main forum.
Method 2: Creating a Forum Index Page
Create a new page, and name it Forums or your preferred forum name. You can add anything you want to the page, but make sure you insert this shortcode somewhere in the text editor:
Click Publish once you’re finished.
Adding Your Forum to Your Site’s Menu Structure
Go to Menu under Appearances, and open your site’s primary menu. bbPress creates a new menu item called Forums.
If you used method one to create your main forum page, add your main forum to your menu structure. If you used method two, add the Forums page to your menu structure.
Save your menu.
Creating Forums with bbPress
Now that we have a main forum page, we can start creating forums. Feel free to get as specific as you want with your forums.
For example, if I created a sports forum, I could create a separate forum for each individual sport. I could then create child forums for each of these forums and assign each of those child forums to a parent forum. The parent forum Football might have child forums called La Liga, Premier League and FIFA.
Alternatively, you can choose Category as a Type in the Forum Attributes section for your parent forums and group the child forums under that category.
Let’s talk about the other selections in the Forum Attributes section for a moment.
- Open – Allows users to view and post new topics to the forum.
- Closed – Allows users to view the forum, but they cannot post new topics to it.
- Public – Allows anyone, including unregistered users, to view the forum.
- Private – Allows only registered and logged in users to view the forum.
- Hidden – Allows only administrators and keymasters to view the forum.
Determines the order in which a particular forum will appear on your main forum page. The order starts at 0 and can go as high as you want it to. If I made Football 0, Cricket 1, Boxing/MMA 2 and Tennis 3, my main forum page would like the image below.
Topics are new discussions you and your users can start on your forums. There are three different types of topics:
- Normal – Normal topics that have no priority when it comes to where they are placed in the list of topics in a forum.
- Sticky – A topic that stays at the top of the forum it was posted in regardless of how many topics are posted after it.
- Super Sticky – A topic that stays at the top of every forum.
There are also Topic Tags you can create to organize topics and make it easier for users to find topics. An example of a tag would be a specific sports team or athlete.
User Registration, Lost Password & WordPress Login Pages for bbPress
Your users need a way to register for your site so they can log in and post topics and replies in your forums. They may also need a place where they can retrieve their passwords in the event they forget them.
bbPress comes with many shortcodes. Among them are shortcodes for registration, lost password and login pages.
Creating a Registration Page
Create a page called Register, and add this shortcode to it:
You can either place text on your main forum page that says, “You need an account to post in the forums. Click here to register one,” and link to your Register page in that text, or you can add the Register page to your menu structure.
bbPress User Roles
Your users, including yourself, can have various roles, which are:
- Keymaster – This is the bbPress equivalent of a WordPress administrator. This user can create and edit any topic, even the topics of other users. He can also manage tags, create new forums and access global settings.
- Moderator – This user has nearly all of the capabilities of a keymaster. He cannot, however, delete other users’ forums, nor can he access global settings.
- Participant – This user can create new topics and reply to existing topics.
- Spectator – This user can view topics but cannot create new topics or reply to them.
- Blocked – This user is banned from posting and replying to topics.
Creating a WordPress Login Page for bbPress
Create a new page called Login, and add this shortcode to the text editor:
Creating a Lost Password Page
Create a new page called Lost Password, and add this shortcode to the text editor:
Customizing a bbPress Forum
There are many ways you can customize a bbPress forum to make it your own. The first way is through your own forum’s settings, which allow you to change the way users interact with your board. The second and third ways are through style and functionality.
Configuring Your Forum’s Settings
The Settings page for bbPress is where you can configure the way users interact with your forum. You can learn more about what each setting means from the plugin’s documentation.
The most important setting is this:
- Auto Role – Allows you to choose which user role new users have when they register.
The other settings are self-explanatory, but they basically allow you to change the way users use your forum, such as allowing them to mark topics as favorites.
Another key setting is under the Forum Root Slug section. If you use the [bbp-forum-index] shortcode, this setting allows you to choose between having that page display your forum index or having it display your forum’s most recent topics.
bbPress comes with seven widgets if you’d like to display certain elements related to your forum in your sidebar or footer.
Here are the widgets that come with this plugin:
- Login Widget – Displays a login form while also giving you the option to display links to your register and lost password pages.
- Forum Search – A simple search bar that lets users search through your forum rather than your blog posts.
- Forum List – Displays a list of your forums.
- Recent Topics – Displays your forum’s latest topics.
- Recent Replies – Displays your forum’s latest replies.
- Topic Views List – Displays your forum’s most viewed topics.
- Statistics – Displays a list of your forum’s statistics.
bbPress has several shortcodes users can insert in their pages and posts. You can view a full list of them in the plugin’s documentation, but here are a few useful ones:
- [bbp-topic-index] – Display 15 of your forum’s most recent topics.
- [bbp-topic-tags] – Displays a cloud of your forum’s topic tags.
- [bbp-search] – Displays a search bar for your forum.
- [bbp-single-view] – Displays topics that have a specific attribute, such as the [bbp-single-view id=’popular’] shortcode, which displays the most popular topics in your forum.
This tutorial is just the tip of the iceberg when it comes to setting up bbPress. There are plenty of additional ways you can change your forum’s style and functionality, and they’re all explained in the plugin’s documentation.
If you’d like to learn additional ways to keep your audience engaged with your site, check out our list of the top 9 list-building plugins for WordPress or our guide on how to create a compelling contact page.