Important: I am not personally updating/fixing/supporting this plugin any more, please see this thread for details.

I needed a plugin to:

Automatically cross-post a new thread to MyBB when I publish a blog post or page

Automatically link the newly created thread from my WordPress post as a substitute for comments

Display a widget to list recent topics, with forum ID whitelist

Work on a multisite installation

Keep MyBB as far away from WordPress as possible (see notes below)

So I scratched my itch and now share the result.

A couple of notes:

Tested with WordPress 3.5, 4.1.1 and MyBB 1.6

Although at the time of writing MyBB seems like the best FOSS forum software no money can buy, the MyBB codebase, to me, seems like an unholy mess and rather dated. I didn’t like working with it, I don’t trust it and I don’t want any of it to touch my WordPress installation. I don’t want the two to share databases and I don’t want to interface directly with MyBB code. Therefore, I do a couple of simple database queries and when things get more complex (e.g. posting a thread), I have WordPress connect to MyBB via HTTP and post just like a regular user. As a matter of fact, your MyBB installation could run on a different server entirely as long as you have access to the MyBB database.

No single-signon, I like to keep accounts separate.

Forum posts are not listed as comments, there is a (configurable) link to the discussion thread instead. I actually had a “display posts as comments” feature in at first (still have the code somewhere if you want it), but then took it out for a couple of reasons. It was messy to deal with and in the end I felt that comments are less community oriented than a forum, so I’d rather point my users to the forum saying “Hey look, there is a real community, not just a blog post with comments, join in, have fun!”.

Cross-Posts are to be updated from the edit page of the original post, directly updating a cross-post using your forum will result in the changes being lost the next time you update the original post.

Deleting an original post will leave the cross-post untouched (you can manually link it to a different original post from the MyBBXP settings page).

Deleting a cross-post using your forum will cause the original post to behave as if it were never cross-posted (it can be cross-posted anew).

Find the new “MyBB Cross-Postalicious” box on post/page adding/editing and edit its content to your liking

Is this plugin under active development?

That depends. I will keep it updated for as long as I need it and try and fix any bugs you may encounter, but I’m quite happy with the features as they are. If you’d like more functionality, you’ll either have to convince me that I really want that feature, pay me a ton of money, program it yourself, or find someone else to do the job for you.

Does this plugin come with support?

I don’t know. I like to think of myself as a nice guy, so if you run into trouble, I’ll try to help out. However I might not check in often to see if people are having trouble.

Google Duplicated Content

This plugin is compatible with Yoast SEO to prevent duplicated content. Make sure to have Yoast SEO installed and active, the plugin will automatically filter the post URL and set the canonical cross-domain URL pointing to its original WordPress.com permalink.

Automatic installation

Automatic installation is the easiest option as WordPress handles the file transfers itself and you don’t need to leave your web browser. To do an automatic install of this plugin, log in to your WordPress dashboard, navigate to the Plugins menu and click Add New.

In the search field type “WP.com Cross-Post” and click Search Plugins. Once you’ve found the plugin you can view details about it such as the point release, rating and description. Most importantly of course, you can install it by simply clicking “Install Now”.

Manual installation

The manual installation method involves downloading the plugin and uploading it to your webserver via your favourite FTP application. The WordPress codex contains instructions on how to do this here.

Configuration

Go to Settings > WP.com X-Post and fill in the Client ID and Secret. If you don’t have them, click on the button “Create WordPress.com App” to create an app on WordPress.com.

Save the changes. The button “Connect to WordPress.com” will appear. Click on it to connect your self-hosted site to WordPress.com and choose the blog you want to sync with.