Useful Plugins for your bbPress Forum

To support our PHP script users we’ve used bbpress in the past. bbpress is a great peace of software and is based on WordPress, that will say if you’re able to write code for  WordPress you can code the same way for bbpress. There are several WordPress plugins which work with bbpress out of the box!

Since version 1.2, the stand alone version of bbPress is no longer under active development! If you like to use bbpress for your forum, try the bbpress plugin for WordPress

Why a forum and not just email support and why bbpress?

bbpress logoAs a software developer you get most common support questions more than once. Sharing information is useful for others and a forum is a great platform for user support. bbpress is a very basic forum without heavy stuff like personal messaging and is very fast even with lots of users / posts. We like the WordPress/bbpress API very much and it’s quite easy to add extra functionality. Sure there are still lot of features missing like merging topics or other important moderator stuff, but I’m sure the developers of bbress are on the right way. There is one more thing with bbpress, the system is able to work with the same user base as WordPress. That will say you can connect your blog with your forum site, a great feature for communities.

Optimizing bbpress using plugins

bbPress SEO Tools

BBpress has no functions for search engine optimization at the moment. This plugin will optimize your forum on the most important places. The plugin will rewrite your page titles and will add meta descriptions and meta tags. Furthermore the SEO plugin will add no-index information to the forums index pages to minimize the content duplication. The plugin is based on the idea of the All in One SEO Pack for WordPress from Michael Torbert.

Moderator Notification

This BBpress plugin is designed to help admins and moderators monitor users by certain usergroups. Inspired by the Post Notification Plugin written by Thomas Klaiber this plugin will notify moderators by mail for each new post.

Auto Add Favorites

This plugin is an important function for every bbpress forum. At the moment there is no feature to let people “auto-subscribe” to their own topics or to topic they wrote and answer or comment. With plugin makes it possible to auto add each topic to the forum favorites list and with the “Post Notification” plugin it’s also possible to notify each member if a new post is written.

Google Sitemap Generator

If you use the bbpress SEO Tools from our website, then is this sitemap plugin for you! This plugin generates XML nodes for exactly the same URLs which are getting marked as “Index” by the SEO tools. There is also some function to create different priorities and frequencies for topics which are older and/or have more replies and posts. The plugin is based on the XML sitemap plugin from Rich Boakes.

GeSHi Syntax Highlighting

This plugin will highlight your code snippets using the PHP class GeSHi. With bbPress core version it’s possible to post code blocks using the html “code” tag, but the presentation is very basic and hard to read by the forum member. Using this plugin the user is able to highlight code in most popular coding of programming language. This plugin is a fork from the WordPress plugin WP-Syntax by Ryan McGeary.

More bbpress plugins (3rd party)

Update: Seems like the bbpress plugin section got some updates. I removed the broken links for the 3rd party plugins below, check the link at the end of this post if you’re looking for a plugin for your standalone bbpress forum.

Comment Quicktags for bbPress

The core version of bbpress has no extra options in their reply/post box, it’s just a textarea. A lot of html markup is allowed and this plugin will add some buttons to the form which helps users writing “nice” postings. This plugin is very old, but it works for the current version (1.02).

Human Test for bbPress

There are several plugins to limit registrations by bots and spammer. I like this one because it’s better integrated than others and it’s easier to handle by new members than ReCaptcha validation for example.

Related Topics

We know the related blog post plugins from WordPress, this one works the same way and for a forum it’s very useful. It is great for inter-linking (SEO) and it helps members to find related topics very fast. This plugin works much better if your forum has enough tags set for each topic.

EDIT: I disabled the related topics plugin yesterday for my forum because it stopped working. I will post an update if found a solution.

SMTP mailer for bbPress

The email function used by the core version is already based on phpmailer, but is still using PHP’s mail() function. It seems that many passwords send after registration, never reached the inbox from the new member. Many bbpress users solved this while using this plugin to send mail messages via SMTP.

Social It

These days social sites are a great way to share content with others. This plugin is also based on a WordPress plugin and is a great addition for your forum.

We use these plugins at finalwebsites.com together with the recent version of bbpress. They are compatible even with our custom template for bbpress. Some of them need tiny modifications in the template files. If you like to see more custom bbpress modifications check the comments below.

Published in: PHP Scripts

4 Comments

  1. Show / hide profile information in bbpress

    On the bbpress forum I noticed often the question how to add/edit/remove profile options for each member. Many people like to remove the members website URL and other like to see more details about a member.

    I use the following function / code for this forum (just put the code into your personal plugin file (my-plugins/my_plugins.php).

    function set_my_profile_info_keys($myarray) {
    	$myarray = array(
    		'first_name' => array(0, __('First name')),
    		'last_name' => array(0, __('Last name')),
    		'display_name' => array(1, __('Display name as')),
    		'user_email' => array(1, __('Email')),
    		//'user_url' => array(0, __('Website')),
    		'from' => array(0, __('Location')),
    		'occ' => array(0, __('Occupation')),
    		'interest' => array(0, __('Interests'))
    	);
        return $myarray;
    }
    add_filter('get_profile_info_keys', 'set_my_profile_info_keys');

    You see that “disabled” value for “user_url” and added the values for first name, last name and display name. The values “0” and “1” indicate if a value is required or not.

  2. Important RSS feed mod

    In the current version the RSS feeds show all the last posts even if the last five are all from the same topic. Most of all in not so active forums, this original RSS feed is not very useful.

    Next in each feed you will find all posted information in this feed, actually it’s a 1:1 copy from the forum. Here are very big disadvantages while using this feed:

    Content duplication for search engines
    The risk that other webmaster will copy your content and post them on their own forums or websites
    People don’t need to get back to your forum because they can read every post in their feed reader
    I think that this bad function will get an update very soon in some future update of bbpress, thats why I created this mod (don’t think that a 100% working plugin is needed).

    First you need to add this two function to your personal plugin file:

    function substr_words($str, $txt_len) {
    	$words = explode(' ', $str);
    	$count = 0;
    	$new_str = '';
    	$abbr = '';
    	foreach ($words as $val) {
    		if ($count < $txt_len) {
    			$new_str .= $val.' ';
    			$count = $count + strlen($val);
    		}
    	}
    	$new_str = rtrim($new_str, ' ,.;:');
    	$new_str .= (strlen($str) > $txt_len) ? ' [...]' : '';
    	return $new_str;
    }
    
    function short_post_text($post_id = 0) {
    	$post = get_post_text($post_id);
    	$short_text = substr_words($post, 150);
    	echo apply_filters('post_text', $short_text, get_post_id($post_id));
    }
    

    If you don’t know how-to create a plugin file, just past the two function to the top of the rss2.php template file.

    Next we need to change the foreach loop within the RSS template file (this is a replace memt for the RSS items part):

    topic_id, $topics)) {
    		$topics[] = $bb_post->topic_id;
    ?>
    
    <?php topic_title( $bb_post->topic_id ); ?>
    
    
    
    
    
    
    
    

    Thats all, this mod works for all RSS feeds.

  3. Alternative mail function

    Many bbpress user complaining that registration mails (passwords) never reach the mailbox from a new member. I know from a few members that this happens with this forum too.

    Some complains should be related to DNS settings like missing SPF records or non configured reverse DNS.

    After checking the mail function within bbpress I have noticed that the mail function doesn’t send a full set of (required) mail headers. I decided to use PHPMailer to send all the mails. I created a function inside my personal plugin file:

    function bb_mail($to, $subject, $message, $headers = '') {
    	$mail = new PHPMailer();
    	$mail->IsSendmail();
    	$mail->From = 'postings@domain.com';
    	$mail->FromName = 'domain.com';
    	$mail->AddAddress($to);
    	$mail->Subject = $subject;
    	$mail->Body = $message;
    	if($mail->Send()) {
    		return true;
    	} else {
    		return false;
    	}
    }
    

    This way the function provided by bbpress is not used and the mail messages are send via phpmailer (don’t forget to include the class file).

  4. Add nofollow to posted links

    As we know every link on your website will cost you sooner or later rankings in Google, at least if you have a lot of them. Much worser are links to bad neighborhoods, if you link to them you risk penalties by Google too.

    A forums has normally lots of links, just imagine a member has posted a link to some site he is working on at the moment of posting and this site will become a bad neighborhood after a couple of month.

    This is why people should change their links on forums. In WordPress is this a default behavior, all comment links are “rel=nofollow”. The bbress software has this function too, as a bbpress forum owner you need to enable this option.

    Place this function into some plugin file and enable the plugin (if not already done) and all links are changed.

    function post_with_links_nofollow( $post_id = 0 ) {
    	$post = get_post_text($post_id);
    	return bb_rel_nofollow($post);
    }
    
    add_filter('post_text', 'post_with_links_nofollow');
    

Comments are closed.