Integrating with WordPress
These pages are for bbPress versions less than 2.0. They are considered out of date and are here for legacy only.
bbPress integration should work with most recent version of WordPress in the 2.9.x series. You should upgrade your blog before trying to get WordPress and bbPress talking to each other.
If you absolutely must integrate with a version of WordPress prior to version 2.5, then read this topic in the forums for details on how to do it.
Database
bbPress can share user data with an existing WordPress installation. All you need to do is specify the location of that database on installation or afterwards in the “WordPress Integration” section of the “Settings” area in your bbPress admin.
Cookies
Integrating cookies allows your users to log in to either your WordPress blog or your bbPress forums and be effectively logged in to both. This feature requires your WordPress and bbPress installations to exist in the same domain name, or at least in sub-domains of the same domain name.
See the “WordPress Integration” section of the “Settings” area in your bbPress admin for the settings you need to add to your WordPress config file after you have added the WordPress information in the “Cookies” form there.
WordPress 4.0: WordPress changed the cookie implementation with this release, see the following post on foliovision.com for more information and a fix.
Registration
When a user registers on your bbPress forum, your WordPress blog doesn’t know about it (and vice versa). The user will be created, but WordPress won’t know what user role to apply.
In the “WordPress Integration” section of the “Settings” area in your bbPress admin you will find a “User Role Map” where you can set which roles will be applied to users who register on your forums. Users who register on your WordPress blog will have the appropriate role applied to their account when they first login to bbPress.
If you don’t setup a role map, then this will not work. When you do setup a role map (or change it) any users who are missing either role will be updated, but existing roles will not be affected.
Functions (optional)
bbPress will not have access to WordPress’ functions unless you manually tell bbPress to load WordPress first. This integration step is also known as “deep” integration, it is a totally optional part of integration and is not required to get shared cookies and logins working. In order to do it, you need to put require_once(dirname(__FILE__) . '/path/to/wp-load.php');
in bbPress’ bb-config.php
(wp-load.php
is in the same directory as WordPress’ wp-config.php
file, so if your bbPress folder is directly inside your WordPress folder, the command becomes require_once(dirname(__FILE__) . '/../wp-load.php');
).
Doing this will add quite a lot of weight to your bbPress installation as it will cause WordPress to load in it’s entirety. Your best option is to try to emulate the functionality you require inside a bbPress plugin.