Discussion Board – WordPress Forum Plugin

Description

Discussion Board is an easy way to add a forum to your WordPress site. It has a one-click installation and stacks of essential features that make it the leading WordPress forum plugin. In brief:

  • Users can register and log in via a front-end form
  • Users post new topics via a simple form
  • Each topic is displayed on its own page where other users can reply

One-click installation

Discussion Board has a unique, one-click set-up. When you activate the plugin, it will automatically create the three pages you need to get your forum up and running:

  • A log-in page
  • A page with a form for users to post new topics
  • A page to view existing topics.

Your forum is up and running straightaway with no need to do any further configuration if you don’t want to.

User management

A key feature of Discussion Board is the ability to control separately who can view your forum and who can actually post to it. You can specify the required role for users to post new topics and, separately, you can specify the required role for users to view topics. So, for instance, you could allow anyone to view the content but only permit specific user roles to post content.

Registration

You can specify which role new users will be assigned when they register. You can also require users to activate their registration by verifying their email address – this drastically reduces spam registrations.

(In the Pro version, you also have the option to approve new registrations yourself if you want).

Front end log-in

Discussion Board has a complete front-end registration and log-in system. You can choose whether to use the standard WordPress system or keep everything on the front-end.

Spam reduction

As well as the restrictions over registration, you can limit the frequency that users can re-post. This will reduce possible spamming. As the owner of the site, you can also choose whether new topics should be published immediately or held as draft in order for you to moderate them. You can use standard WordPress settings to determine moderation levels for comments or set different rules for topics.

Even more, you can block specific email addresses or entire domains from being able to register accounts.

Styles

Discussion Board is designed to work with any theme. You can update colors through the Customizer. Currently, there is a choice of three layouts, using either the standard WordPress archive layout from your theme or more classic forum layouts.

Discussion Board should work out of the box with your theme. However, if you want to extend it and integrate it more closely, there are some optional templates supplied with the plugin that have hookable opening and closing wrapper tags so you can style the templates to match your theme.

Shortcodes

Discussion Board has a number of shortcodes. Some of these are installed automatically when you activate the plugin. Others are optional for usage around your site, including:

[discussion_board_form] – displays a form for users to post a new topic (automatically installed)
[discussion_topics] – displays a list of all topics (automatically installed)
[discussion_board_login_form] – displays a log-in and registration form for new users (automatically installed)
[discussion_board_login_only] – displays a log-in form without a registration form
[discussion_board_log_in_out] – displays a log-in / log-out link
[is_logged_in] – use this shortcode to display content only to users who are logged in
[not_logged_in] – display content only to users who are not logged in

What can I use this for?

You can use this plugin to create any type of forum that you like. Typically, this would include:

  • Community forums
  • School or other education sites
  • Training websites
  • Support forums
  • Discussion forums
  • Niche sites
  • Discussion groups
  • Question and answer sites
  • Technical forums
  • Ecommerce sites
  • Bulletin boards
  • Job boards

Discussion Board Demo

There’s a Discussion Board demo here. Feel free to register and post some sample content.

WordPress forum theme

Although Discussion Board should work with pretty much any WordPress theme, we developed Singularity – a free theme that integrates with Discussion Board. It’s available to download from the WordPress themes directory.

Why have a forum on my WordPress site?

There are many, many reasons to want to install a forum plugin on your WordPress site. In brief, these might include:

  • SEO benefits – there are two key benefits to having a forum on your site. Firstly, you are benefitting from user generated content, where your users are writing your content for you and coming up with all kinds of keywords you never would have included in your content yourself. Secondly, users will spend longer on your site because of your forum, either writing their own posts or reading other people’s content. Google considers dwell time on a website to be a key quality metric.
  • Get closer to your users – a forum is a priceless way of learning more about what makes your users tick, whether the forum is support-based or just a general community discussion board.
  • Market more effectively – when users register for your forum, they are providing you with their email address, meaning that you have a great opportunity to market directly to people you know are interested in your offering.

If you’d like some more information about forums, what they are, and why you’d want one, there’s a substantial article on our website on how to add a forum in WordPress.

Documentation

Full documentation and guidance on getting started with the plugin and on its features is here.

Is there a Pro version?

Oh yes, there’s a Pro version to give you even more possibilities with your forum. Features include:

  • Multiple Discussion Boards for different subjects
  • Set statuses for topics, e.g. ‘Resolved’, ‘Open’, etc
  • Categories and tags
  • Image uploads
  • User profiles
  • Topic following (subscribe to topics)
  • Board following – subscribe to a board and get notified of all new topics and comments for that board
  • Board permissions – set topics within boards to be post-only (so no replies) or author-only (only the author can view replies)
  • Admin approvals – optionally require all new registrations to be approved by an admin
  • WYSIWYG editor

Check out the Pro version here.

Screenshots

  • Discussion Board table view
  • Multiple Boards (Pro Version)
  • Single View (Twenty Sixteen theme)
  • Discussion Board options

Installation

From your dashboard

  1. Go to Plugins > Add New
  2. Search for ‘Discussion Board’
  3. Activate Discussion Board form the Plugins page
  4. Go to Discussion Board > Settings to update any settings

FAQ

Installation Instructions

From your dashboard

  1. Go to Plugins > Add New
  2. Search for ‘Discussion Board’
  3. Activate Discussion Board form the Plugins page
  4. Go to Discussion Board > Settings to update any settings
I’ve installed Discussion Board. Now what do I do?

Discussion Board will automatically install three pages for you:

  • A page with a log-in and registration form
  • A page with a form for users to post new topics
  • A page listing existing topics

There are further, detailed instructions for the free and pro versions on the website.

Where can I see a demo?

There’s a demo here and a pro demo here. Feel free to register and post some content so that you can see how it works from the user’s point of view.

Some users are reporting that they don’t receive an activation email

In the first instance, ask them to check their spam/junk folders. If you’ve tested and you’re certain emails aren’t getting through, use the Postman SMTP plugin or similar to assist the delivery of email from your site. It’s a more reliable way of ensuring emails are sent and received.

Do I need to enable registration on my site?

No.

I see an error message about invalid post type. What’s that?

In your dashboard, just go to Settings > Permalinks. Then everything should be fine.

Help, I can’t seem to log out. Why?

We’ve included a helpful log-in / log-out shortcode to display a log-in / log-out link. Use a plugin like Shortcode Widget and add the [discussion_board_log_in_out] shortcode to your sidebar or other widget area of your choice. The plugin also automatically displays a log-out link under the new topic form.

My shortcodes display as shortcodes, not as the content they’re supposed to render. Why?

Be careful if you are copying and pasting the shortcodes – you might need to delete <code> tags. Click on the ‘Text’ tab in your content editor to see if these tags are there.

Reviews

Excellent Plugin and Great Support

The plugin is excellent, feature rich, simple to set up, and intuitive for users. I am even stretching the functionality to turn the boards into a form of private groups, using the permissions associated with my community member/profile system. And, a huge thanks to Gareth at Catapult for the support he has given to resolve a minor theming issue. He has been helpful, patient and gone above and beyond to diagnose and fix the problem.

Great Support

We had a recent issue when using the plugin and Gareth took time to log into our WordPress install to help us resolve the problem. The plugin works great and I highly recommend it. Thanks again to Gareth for his assistance.

Outstanding support

After the update to 2.1.1 I had problem with WP installation (too many redirects). Support of discussion board team (Gareth) was great. He logged in to my side and fixed the issue. At the end it was a configuration issue. It is really a great plugin and with an outstanding support.

Great plugin & Amazing support

I’ve tried several board plugins and they were too complicated and not what I wanted. This plugin is clean and simple. It’s not perfect yet, but the amazing support by the developer makes that a non-issue. I’m really happy I purchased this plugin and look forward to its future features 🙂

Thank you and keep up the great job!

simple membership

Having one serious issue with simple membership plug. It is perfect for my site but cannot set it to free membership level. The JOIN US asks registered voters for payment. this is not what I need. I’m open to suggestions. Thank you.

PS I started with email subscriber but my one subscriber 2 emails to unsubscribe.

Read all 22 reviews

Contributors & Developers

“Discussion Board – WordPress Forum Plugin” is open source software. The following people have contributed to this plugin.

Contributors

“Discussion Board – WordPress Forum Plugin” has been translated into 3 locales. Thank you to the translators for their contributions.

Translate “Discussion Board – WordPress Forum Plugin” into your language.

Interested in development?

Browse the code, check out the SVN repository, or subscribe to the development log by RSS.

Changelog

2.3.2 – December 9, 2017

  • Updated: admin update

2.3.1 – December 8, 2017

  • Added: ctdb_filter_permitted_viewer_roles filter
  • Updated: CT_DB_Front_End::check_user_permission hooked to wp

2.3.0 – October 25, 2017

  • Added: direct user to About page on activating plugin
  • Fixed: save additional user meta at user registration
  • Updated: default prevent_wp_admin_access value to 0
  • Updated: admin notices

2.2.13 – October 23, 2017

  • Updated: better sanitization for user registration

2.2.12 – October 16, 2017

  • Added: minor CSS updates
  • Added: filter for empty comments file
  • Added: functions-registration.php file
  • Fixed: ensure filter_single_content is in loop
  • Fixed: removed multiple log-in forms

2.2.11 – June 29, 2017

  • Fixed: redirect issue with resetting passwords

2.2.10 – June 7, 2017

  • Added: wpautop on get_comment_text() in functions-skins.php

2.2.9 – April 25, 2017

  • Added: ctdb_topic_date_time function
  • Added: $author parameter to ctdb_info_bar_table filter
  • Added: ctdb_get_most_recent_commenter function
  • Added: new parameters to ctdb_topic_body_fields filter
  • Added: new parameter to ctdb_topic_title_fields
  • Added: ctdb_filter_table_layout filter
  • Fixed: ensure admins can always access backend
  • Updated: replaced esc_url with esc_url_raw in login_user and redirect_to_login_page

2.2.8 – April 19, 2017

  • Added: ctdb_comment_author_url filter
  • Fixed: incorrectly respecting display_as setting in comments
  • Fixed: incorrectly obtaining commenter’s website address
  • Updated: no longer send new topic notifications for trashed topics

2.2.7 – April 16, 2017

  • Updated: removed color options from Design tab

2.2.6 – April 12, 2017

  • Fixed: converted empty $viewer_roles to array in function-user.php
  • Updated: Plugin_Usage_Tracker to 1.0.2

2.2.5 – April 5, 2017

  • Added: translation request
  • Fixed: parse error in comment author filter

2.2.4 – April 3, 2017

  • Updated: better mobile layout
  • Updated: new comment notifications only on discussion-topics post type
  • Updated: POT file
  • Updated: moved ctdb_discussion_topics_shortcode_atts filter before extract (thanks jf_bertrand)
  • Updated: global notifications setting to prevent duplicate notifications
  • Updated: plugin title

2.2.3 – March 12, 2017

  • Added: WPML support
  • Added: filterable front-end messages in functions-messages.php
  • Fixed: correctly insert default ctdb_options_settings values
  • Fixed: parse error for value in settings WYSIWYG callback
  • Fixed: only filter display name for Discussion Topics post type
  • Fixed: translation issues with General settings messages
  • Updated: removed admin notices
  • Updated: removed actions in ct-db-admin-upgrades
  • Updated: used add_query_arg in wp_redirect in several locations
  • Updated: admins no longer redirected after logging in

2.2.2 – March 6, 2017

  • Added: ctdb-actions-wrapper in class-ct-db-skins.php
  • Added: ctdb_meta_data_fields_filter filter in class-ct-db-skins.php
  • Added: ctdb_meta_data_field_titles_filter filter in class-ct-db-skins.php
  • Added: redirecting parameter to url after logging in
  • Fixed: respects enqueue_icons setting
  • Updated: rationalized CSS

2.2.1 – February 21, 2017

  • Added: stripslashes in new topic $content
  • Fixed: deselecting checkboxes in settings
  • Fixed: display_user_name respected by comment author field
  • Updated: tracking code
  • Updated: code refactoring

2.2.0 – February 2, 2017

  • Added: Registration blacklist – block email addresses and domains from registering
  • Updated: tracking snippet

2.1.1 – January 24, 2017

  • Added: Simple Comment Editing support
  • Added: tracking

2.1.0 – January 16, 2017

  • Added: Customizer support
  • Added: color settings
  • Added: pass $class to CT_DB_Front_End::display_all_topics
  • Updated: code refactoring
  • Updated: use DB_PLUGIN_DIR in template uploader

2.0.0 – January 6, 2017

  • Added: automatic installation of shortcodes and pages
  • Added: theme detection and automatic formatting for some popular themes
  • Fixed: enable_notification_opt_out
  • Fixed: correctly hides log-in form when specified
  • Updated: changed directory structure
  • Updated: moved settings to Topics admin page
  • Updated: renamed Topics admin page to Discussion Board
  • Updated: renamed Options tab to General

1.7.4 – January 3, 2017

  • Fixed: version

1.7.3 – January 3, 2016

  • Fixed: incorrect text domain for translations

1.7.2 – December 28, 2016

  • Fixed: default settings not loading correctly

1.7.1 – December 23, 2016

  • Added: new_topic_button shortcode linking to New Topic page
  • Added: $atts parameter to ctdb_discussion_topics_shortcode_args
  • Added: global $ctdb_user_can_view variable
  • Added: number parameter for discussion_topics shortcode
  • Added: ctdb_new_topic_form_validation filter
  • Fixed: redirect page after log-in not working
  • Updated: globalized $CT_DB_Public, $CT_DB_Front_End variables
  • Updated: better topic form validation – doesn’t wipe all content when a field is missing

1.7.0 – December 9, 2016

  • Added: CT_DB_Skins class to handle layout styles
  • Added: CT_DB_Admin_Upgrades class for upgrades
  • Added: classic forum layout style
  • Added: conditional tags in the_content filters
  • Added: ‘voices’ count
  • Added: selectable meta data fields to display on single topic pages
  • Updated: topic information bar now described as topic meta data
  • Updated: Info bar layout re-termed as ‘Single topic layout’
  • Updated: improved single topic meta data layout
  • Updated: icons no longer appear against poster name and topic date

1.6.1 – December 5, 2016

  • Added: ctdb_discussion_topics_shortcode_orderby filter
  • Added: table output now filterable

1.6.0 – December 1, 2016

  • Added: ctdb_discussion_topics_shortcode_args filter
  • Added: query parameters to discussion_topics shortcode
  • Updated: use strip_tags in notification email

1.5.1

  • Added: ctdb_info_meta_wrap_after_replies filter on table layout
  • Fixed: pagination on discussion_topics shortcode on static homepage
  • Updated: admin notices

1.5.0

  • Added: opt out feature – allows topic author to choose not to select notifications
  • Added: optional layouts for single.php
  • Added: avatar to shortcode table layout
  • Updated: include comment content in notification email
  • Updated: default layout is now table
  • Updated: disabled email_notification to avoid duplicate notifications

1.4.0

  • Added: table layout

1.3.4

  • Fixed: parse errors on failed log-in

1.3.3

  • Fixed: missing filter to hide comments

1.3.2

  • Fixed: email notifications for topics requiring moderation
  • Updated: registration field rendering method

1.3.1

  • Added: action hook ctdb_start_new_topic_form
  • Added: extra shortcodes for log-in and registration forms
  • Added: shortcodes for logged in and non-logged in users
  • Added: filter author name in information bar
  • Added: admin notification class
  • Updated: additional front end styles
  • Updated: retain field values in unsuccessful registration form
  • Updated: validation message

1.3.0

  • Added: filter for admin tabs
  • Added: 0 option for reposting delay
  • Added: AJAX validation on registration form
  • Fixed: pagination issue with all topics shortcode on Twenty Sixteen theme
  • Updated: refactored code into smaller classes
  • Updated: notify admin of moderated comment
  • Updated: strip_shortcodes in posted content

1.2.0

  • Added: flush rewrite rules on activation
  • Fixed: missing comment form fields

1.1.1

  • Updated: tested to tag

1.1.0

  • Added: hide log-in form option
  • Added: multiple filters
  • Added: new action hooks
  • Changed: email address must be specified for notifications to be sent
  • Fixed: replace comments template with empty file for excluded users
  • Fixed: correct path to plugin templates

1.0.9

  • Fixed: missing assets in admin

1.0.8

  • Fixed: missing assets in admin

1.0.7

  • Fixed: closed <a> tag after Lost Password link

1.0.6

  • Added: Define email address to send notifications to

1.0.5

  • Fixed: Reset query in shortcode.

1.0.4

  • Added: French translation (thanks to Oazar)
  • Added: Russian translation

1.0.3

  • Changed: updated plugin for better translation support

1.0.2

  • Change: defined constant for plugin directory
  • Fix: incorrect post type in shortcode queries

1.0.1

  • Fix: incorrect post type in notification email to admin

1.0.0

  • First commit