How to Create a Forum in WordPress

If you are looking for a way to interact with your visitors and to make them more engaged, you should consider adding a forum to your WordPress site.

While it used to be a lot more challenging to create a forum, that is not the case anymore. Thanks to the dedicated plugins like bbPress, you can set up a forum within an hour or less. And that is what I will discuss today.

So, are you ready to find out how to create a forum with bbPress? Let’s get started.

Creating the Forum

Once you install and activate the plugin on your site, it will add three new menu items to the dashboard menu – Forums, Topics, and Replies. You will use these menu items to manage the conversation on your website.

The first step is to create the forum. To do that, go to Forums > New Forum. This will take you to page like this –

First of all, provide a title and a short description of the forum. Then, move on to the “Forum Attributes” section on the right sidebar where you can set up the forum options.

The first option enables you to choose the forum type. You can create either a regular forum or a category. The category will come in handy when you want to group similar forums together.

Next, “Status” allows you to choose the forum status. The open status will let the users create new threads and reply to the existing threads. On the other hand, the closed status will allow them to check out the existing threads only. Users cannot create a new thread in a closed forum.

Then, you can choose any of the three visibility options – Public, Private, or Hidden. A public forum is visible to anyone, including the guests. Private forums will only be visible to the registered users. And if you want to make a forum visible to only the moderators and admins, you should go with hidden.

If you are creating a child forum or a forum that belongs to a category, you can choose the parent forum or category in the “Parent” field. The “Order” option enables you to set the sorting order for the forums.

Once you have set up all the options, click “Publish” to publish the forum.

Displaying the Forum

Now that you have created the forum, it is time to display it on your site. BbPress comes with lots of shortcodes and custom widgets to help you show the forum.

For instance, you can use the following shortcode to show the forum index on any post or page –


When adding the shortcode, make sure you are in the text mode. You will find all the available shortcodes in this official guide.

Here are some handy shortcodes for quick reference –

  • Create the registration page: [bbp-register]
  • Create the login page: [bbp-login]
  • Create the forgot password page: [bbp-lost-pass]

Once you have published the pages, you can add these to the menu by going to Appearance > Menus, and select your menu.

You will find the widgets on the Appearance > Widgets page. These widgets will come in handy to show the forum list, latest topics, latest replied, login, search, statistics, etc. on any widget-ready location.

Setting up the Forum

To set up the forum options, go to Settings > Forums. This takes you to a page like the following –

First of all, there is the “Forum User Settings” section. Here, you can choose the time after when editing will be disabled, the minimum duration between multiple threads, allow guests to post anonymously, and to select the default role for new users.

In the “Forum Features” section, you will find separate options to enable topic and reply history, mark topics as favorites, subscribe to forums and topics, add tags to the forum, add the HTML formatting options, allow third-party media embeds, and so on.

The next section includes two option to choose the number of topics and replies per page.

Then, you will find dedicated fields to customize the slugs for the forum, topic, tag, reply, search, users page, favorites, subscriptions, etc.

Once you have made the necessary changes, click “Save Changes” to apply the new settings to the forum.

Managing the Forum

As I said in the beginning, bbPress creates three dedicated menu items to help you manage the forums, topics, and replies. Now, we will see how to use those menu items.

To manage the forums on your site, go to Forums > All Forums. This will take you to a page like the following –

For each forum, you will find the name, the number of topics and replies, creator name, date of creation, and freshness. Hovering over each forum will reveal additional options to edit, delete, or view the forum.

In the similar way, you can manage the existing topics by going to Topics > All Topics. For each topic, you will find the topic name, forum name, number of replies, author, date, and freshness. Hover over a topic and you will find options to edit, delete, view, close, or mark the topic as sticky.

Last but not the least, you will find a list of all replies in the Replies > All Replies page. Each reply will be accompanied by the necessary information like the original forum, topic, author, and date.

Understanding the bbPress User Roles

BbPress also adds some new user roles to your website. These new roles will come in handy in your forum administration. Let’s check out what these roles are –

Keymaster: This role is the main admin of the blog. Users with this role can create, edit, and delete all the forums, topics, and replies. They can change the forums settings too.

Moderator: This role has most of the Keymaster capabilities. But, this role cannot delete the forums, topics, or replies created by others. They don’t have access to the settings as well.

Participant: These are the regular forum users who can create new topics and reply to existing topics.

Spectator: Users with this role can only view the forums, topics, and replies.

Blocked: These users are blocked from any kind of participation in the forum.

You can change the forum role for any user by editing their profile from the Users > All Users page. You will find the “Forum Role” field at the bottom of the page.

Final Words

And that’s how you add a fully functional forum to your WordPress site. That wasn’t very hard, right? Well, if you still have any confusion or need any help, please let me know by leaving a comment below. I will be glad to help you out.


I started this tech blog back in 2011 as a place to write down processes I took to fix my client systems and network. Now I write some tips and tricks to help others with the tech issues that one might encounter.

You may also like...