Using bbPress as a Support Forum


bbPress is a tremendous plugin that provides a complete forum system done the WordPress way. Along with simply providing a great forum system for discussion boards, bbPress also works exceptionally well as a support platform, though there are several features that are missing from the core plugin. In this tutorial we're going to walk through configuring the plugin for an optimal support forum.

I run two very active support forums, both on bbPress, so most of what I'm going to show you is from my own experience running those support forums. I mentioned a moment ago that there are several features missing from bbPress that are very important if you wish to run a successful support forum; these features are going to get added in the form of add-on plugins for bbPress that extend the plugin's default behavior.

Setting Topics as Resolved

Out of the box, bbPress does not give topics any sort of "status" that can be used to indicate if a question has been resolved by the support staff. This is one of the most fundamental features that every support system should have, and luckily the fine folks from wrote an extension just for this. The GetShopped Support Forums extension will give you the ability to indicate if a forum should act as a support forum. Any forum that is set to be a support forum will then have a "status" attached to every topic that indicates whether it is resolved, unresolved, or not a support question.

In the extension settings (Settings > Forums), you can easily control who has permission to change topic statuses and also what statuses to show.

Assigning Topics to Support Staff

Another fundamental feature that a good support platform must have, at least for support systems with more than one user, is the ability to assign topics (tickets) to staff members. The GetShopped Support Forums extension, mentioned above, provides this feature, along with the topic status feature.

Anytime a topic is assigned to a staff member, they will receive an email that lets them know a ticket was assigned to them.

Along with assigning topics, GetShopped Support Forums also allows staff members to "claim" topics. There is also a widget included that can display the assigned / claimed topics to the staff member that is currently logged in, providing them an easy way to access all topics that need their attention.

Private Replies

If your customers ever need to provide sensitive information, such as site URLs or account credentials, it is absolutely paramount that you give your customers a way to contact you privately. There are a variety of ways to do this, from personal emails to actual ticketing systems, such as Zendesk or Ticksy, but none of them are optimal if you are also using bbPress as your main support platform. Why? Simply because having multiple support areas to manage does nothing but convolute the process.

It is always best if all of the support a customer needs can be provided in one place, whether they are leaving sensitive information or not. This is the exact reason Rémi Corson and I wrote the bbPress Private Replies extension.

Private Replies allows customers to selectively choose whether they want their reply visible to only forum moderators (support staff) or pubic and visible to everyone.

Private replies are highlighted with a blue background.

When a private reply is viewed by a user that is not the original poster or a forum moderator, it will appear like this:


Anyone that has ever managed product support knows the importance of screenshots, which is why providing your customers a way to upload screenshots (or other files) with their support tickets is vitally important to managing a good support forum. The GD bbPress Attachments extension handles this feature very well.

When posting a reply, customers will be given an upload field that lets them choose the file(s) they wish to attach:

The attachments will then be shown at the bottom of their reply after posting.

Forum Search

When first starting out, including a search feature with your forums may not be critical, but once you have a large number of topics, it is crucial. If your users are unable to find existing topics to answer their questions, they will simply create a new one (they will create a new one most of the time anyhow), so giving your users a way to search the forums will mean much less work on the part of you and your support staff.

The default search built into WordPress does not work well with bbPress, but the bbPress Search Widget from David Decker does work quite well.

New Topic Notifications

Some people will disagree with this one, but in my opinion, if you are running a support forum for a commercial product, you must setup notifications for when new support topics are posted. Usually these notifications are in the form of emails, though there are other methods as well.

Jared Atchison wrote an extension called bbPress New Topic Notifications that will send out an email every time a new topic is posted. As the site admin, you can set the users (support staff) that new topic notifications are sent to.

While it is not difficult to simply log into your support forum once per day to check for new topics, I personally prefer to simply rely on my email inbox to alert me of new support tickets. I simply set up a filter in my inbox (Gmail) to catch all new topic notifications so that I can immediately see how many new topics I have to answer.

Custom New Reply Notifcations

bbPress has an option built into the core plugin that lets users choose if they want to receive an email notification anytime a new reply is posted to a topic.

The problem with this feature is that there is no built-in way to customize the email that gets sent out. In my own support forums, I found that I really needed and wanted to change the contents of this email, so I built the bbPress Custom Reply Notifications extension, which lets you set the subject and content of the email to anything you want:

Restrict Forum Access to Paid Customers

Depending on your product / business model, you might find that you need to restrict access to your support forums to only those users that have paid for a subscription or purchased your product. Depending on how you sell your services or products, there are a variety of ways to do this.

If you sell subscriptions through my Restrict Content Pro plugin, there is a free extension that lets you restrict forum access to only paid members called bbPress Restrict Content Pro.

If you sell digital products through Easy Digital Downloads, there is an extension called Content Restriction that lets you restrict individual forums to only users that have purchased a particular product.

If you use WooCommerce to sell products, there is a great extension called Product Support that will let you give customers access to product-specific support forums.

If you sell on the Envato marketplaces and wish to require users enter a valid purchase key when registering, there is an extension available from Code Canyon for that.

If there are other bbPress + product/subscription plugin integrations that you're aware of, please let me know in the comments!

Notes on Core bbPress Configuration

Aside from all of the extensions mentioned above, there are a couple of core bbPress settings you need to take into consideration when setting up a support forum.

These settings can all be found in Settings > Forums.

  • 1. Subscriptions

    This option allows users to subscribe to topics and receive emails anytime a new reply is posted. There is absolutely no reason that you should not have this enabled as it is vitally important that your customers have an easy way of knowing when a response has been posted to their question.

  • 2. Topic Tags

    While not vital, tagging topics with relevant keywords can provide customers an easy way to find previously-posted topics that answer the question they have. If you choose to use topic tags, I'd strongly encourage you to actively tag (and retag) tags with relevant keywords, and also provide users a way to browse by tag.

  • 3. Fancy Editor

    I would definitely suggest that you enable the fancy (rich) editor for new topics and replies. The main reason is simply that it makes it much easier for customers to post links and format their questions in a way that is easy to read. If you read and answer as many support questions as I do every day, you will highly appreciate nicely formatted posts.

  • 4. Archive Slugs - Forum Base

    The Forum Base slug lets you define the URL that is used for displaying the main forum root (where all forums are listed). The reason this is really important is that it's best if you use something like "support" here. This simply makes it more intuitive for your users. If you're looking for support, what do you expect more, /support or /my-awesome-forums? Obviously /support.

  • 5. Akismet

    If you are an Akismet user, you can choose whether you want all forum topics to get scanned by Akismet when they are posted. This is probably a good idea if you allow Anonymous posting, but I personally found it to not work well. Support customers tend to post a lot of links, which usually throws up a red flag for Akismet, meaning you will have a lot of legitimate topics get caught in spam, so if you use Akismet, you MUST monitor your spam folder closely. I personally prefer to NOT allow anonymous posting and therefor all of my spam prevention happens during the forum registration process.

Other Extensions

There are several extensions that I didn't mention above but would like to note quickly:

Related Posts
  • Computer Skills
    App Training
    Demystifying Microsoft Office & Office 365 PricingOffice logo
    You want to buy Microsoft Office, but which suite should you get? This tutorial will help you choose the best for your usage and will guide you toward a better understanding of how Microsoft has structured its most popular software offering's pricing.Read More…
  • Code
    A Guide to Providing Quality Customer SupportQuality customer support
    If you’ve ever released free or premium WordPress Themes or Plugins, you know that launching your new product is not the end of the process. In fact, it’s just the start, and raises a lot of questions: How do you provide support? How do you support customers after they’ve used your product? How do you manage email, social media and forum support easily? Should you support your free products, or just your premium ones? Read More…
  • Code
    Theme Development
    Making the Perfect WordPress Theme: Wrapping Everything UpWp white 400
    Welcome to the end of the series! As we have done with other series, I find it useful to bring it all together and summarize the articles in one last post. So in this post, we're going to do exactly that.Read More…
  • Business
    App Training
    How to Convert WordPress into a HelpdeskPreview supportdesk
    Questions are fantastic. Even questions from customers are great, though they can take up time to answer. Questions from our customers give us insight into what they want or need. Customer questions can help us come up with ideas for new products or services.Read More…
  • Code
    Creative Coding
    How to Implement Post Status Transitions for Custom Web ApplicationsCustom post status 400
    WordPress uses posts and pages to provide the dynamic content for applications. The introduction of Custom Post Types has increased the possibility of developing complex applications with WordPress. Generally, normal posts go through a well-defined workflow, before they get published on the website or on the application. During this workflow, various statuses are assigned to posts and handled internally by WordPress. Post statuses can be used as a powerful technique for managing status in a custom web application. In this article, we are going to discuss how to use WordPress custom post statuses and transitions to build applications which go beyond the conventional websites or blogs. Do you have experience in working with custom post status transitions? All of you are welcome to discuss your experiences.Read More…
  • Computer Skills
    Quick Tip: A Tour of the Notification Center Changes in MavericksNotification center icon
    Notification Center arrived, last year, with the release of OS X Mountain Lion. It replaced Growl, a popular third-party notification system, and made our lives much easier by integrating Facebook and Twitter for message and mention notifications. It keeps your Mac and Web experience unified, as well as making common tasks like checking email less necessary. Mavericks adds to Notification Center with inline replies -- a quick way to send messages, a slight redesign, and more. In this tutorial, I’ll show you how these features can help you in an average day.Read More…