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 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).