Have just installed bbPress: 0.9.0.2
Of the list of forums I have on the front page, I have 7 main forums and each of these forums have up to 50 child/sub forums. Can these child/sub forums be hidden on the front page meaning that if you visit one of the parent forums, it is only then that the child/sub forums are listed (underneath its parent forum).
Many thanks all. Look forward to a solution.
bbPress supports full exporting of your data into XML or other formats. Does vBulletin have robust importing tools? If so, this should be pretty straightforward!
URLs of each topic/thread may change though… unless you can get the two softwares to generate similar URLs.
There is Revolution for both bbPress and WordPress:
http://www.revolutiontheme.com/magazine/bbpress/
I think if you look around you will find people who have released bbPress themes to match WordPress themes.
https://bbpress.org/forums/topic/new-bbpress-theme-peacemaker
http://bbshowcase.org/forums/forum/bbpress-templates
Also, _ck_ can’t you accomplish much of what you need without search in bbPress? I don’t miss it. If I am looking for something that I can’t find on a forum, even this one, I just use google site:bbpress.org/forums/ $whatever.
Short term, I was able to make this work by modifying 1 core WordPress file. This only allows for integration of the theme, but still does not allow access to the bbPress admin panel without changing the bb-config.php
file back to original.
It’s essentially a quick fix to get the theme working with all capabilities playing nicely.
Basically I’m hard-coding the capability check from bbPress into WordPress. There should be a filter for this, but I’m not sure how to hook into it correctly without a mod or plug-in on the WordPress side.
~My fix is in no way a permanent solution. Auto-updating your WordPress installation will overwrite this fix.~
In FILE wp-includes/capabilities.php
:
In the meta_map_cap
function:
Around Line 906:
AFTER break;
BEFORE default
INSERT:
/*
*/
case 'write_post':
$caps[] = 'write_posts';
break;
case 'edit_post':
// edit_posts, edit_others_posts, edit_deleted, edit_closed, ignore_edit_lock
if ( !$bb_post = bb_get_post( $args[0] ) ) {
$caps[] = 'magically_provide_data_given_bad_input';
return $caps;
}
if ( $user_id == $bb_post->poster_id )
$caps[] = 'edit_posts';
else
$caps[] = 'edit_others_posts';
if ( $bb_post->post_status == '1' )
$caps[] = 'edit_deleted';
if ( !topic_is_open( $bb_post->topic_id ) )
$caps[] = 'edit_closed';
$post_time = bb_gmtstrtotime( $bb_post->post_time );
$curr_time = time() + 1;
$edit_lock = bb_get_option( 'edit_lock' );
if ( $edit_lock >= 0 && $curr_time - $post_time > $edit_lock * 60 )
$caps[] = 'ignore_edit_lock';
break;
case 'delete_post' :
// edit_deleted, delete_posts
if ( !$bb_post = bb_get_post( $args[0] ) ) {
$caps[] = 'magically_provide_data_given_bad_input';
return $caps;
}
if ( 0 != $bb_post->post_status )
$caps[] = 'edit_deleted';
// NO BREAK
case 'manage_posts' : // back compat
$caps[] = 'delete_posts';
break;
case 'write_topic':
$caps[] = 'write_topics';
break;
case 'edit_topic':
// edit_closed, edit_deleted, edit_topics, edit_others_topics
if ( !$topic = get_topic( $args[0] ) ) {
$caps[] = 'magically_provide_data_given_bad_input';
return $caps;
}
if ( !topic_is_open( $args[0]) )
$caps[] = 'edit_closed';
if ( '1' == $topic->topic_status )
$caps[] = 'edit_deleted';
if ( $user_id == $topic->topic_poster )
$caps[] = 'edit_topics';
else
$caps[] = 'edit_others_topics';
break;
case 'move_topic' :
$caps[] = 'move_topics';
break;
case 'stick_topic' :
$caps[] = 'stick_topics';
break;
case 'close_topic' :
$caps[] = 'close_topics';
break;
case 'delete_topic' :
$caps[] = 'delete_topics';
add_filter( 'get_topic_where', 'no_where', 9999 );
if ( !$topic = get_topic( $args[0] ) ) {
$caps[] = 'magically_provide_data_given_bad_input';
return $caps;
}
if ( 0 != $topic->topic_status )
$caps[] = 'edit_deleted';
remove_filter( 'get_topic_where', 'no_where', 9999 );
break;
case 'manage_topics' :
// back compat
$caps[] = 'move_topics';
$caps[] = 'stick_topics';
$caps[] = 'close_topics';
$caps[] = 'delete_topics';
break;
case 'add_tag_to':
// edit_closed, edit_deleted, edit_tags;
if ( !$topic = get_topic( $args[0] ) ) {
$caps[] = 'magically_provide_data_given_bad_input';
return $caps;
}
if ( !topic_is_open( $topic->topic_id ) )
$caps[] = 'edit_closed';
if ( '1' == $topic->topic_status )
$caps[] = 'edit_deleted';
$caps[] = 'edit_tags';
break;
case 'edit_tag_by_on':
// edit_closed, edit_deleted, edit_tags, edit_others_tags
if ( !$topic = get_topic( $args[1] ) ) {
$caps[] = 'magically_provide_data_given_bad_input';
return $caps;
}
if ( !topic_is_open( $topic->topic_id ) )
$caps[] = 'edit_closed';
if ( '1' == $topic->topic_status )
$caps[] = 'edit_deleted';
if ( $user_id == $args[0] )
$caps[] = 'edit_tags';
else
$caps[] = 'edit_others_tags';
break;
case 'edit_user':
// edit_profile, edit_users;
if ( $user_id == $args[0] )
$caps[] = 'edit_profile';
else
$caps[] = 'edit_users';
break;
case 'edit_favorites_of':
// edit_favorites, edit_others_favorites;
if ( $user_id == $args[0] )
$caps[] = 'edit_favorites';
else
$caps[] = 'edit_others_favorites';
break;
case 'delete_forum':
$caps[] = 'delete_forums';
break;
case 'change_user_password':
// change_password, edit_users
$caps[] = 'change_password';
if ( $user_id != $args[0] )
$caps[] = 'edit_users';
break;
/*
*/
There are bbpress sites running with hundred of thousands of posts, and at least one with over a million posts. You won’t need to switch to vbulletin unless you want to for some other reason.
Hi there!
I am going to use bbpress for my websites forum. Before I do so I would like to know if it is possible to switch to vbulliten when my forum becomes huge.
Does anyone know of a designer or company that offers identical themes for both WordPress and bbPress?
I am asking this to avoid the troubles of integration.
Thanks!
Eh don’t defend bbPress – it’s the same problem with WordPress. They’ve never had a good search because writing a good search is hard and takes time from other needed things.
I haven’t released the search because after working on it for a week it became so overly complex that debugging parts of it was taking way too much time. When that happens I get mad and then usually re-write things from scratch.
I think my biggest mistake was I tried to make the layout template-able, so you could move stuff around. That added way too much code and logic problems. And then there was the wordpress awareness, more code.
I might just make a simpler version of it. I may just copy some of the vbulletion search layout since it’s very logical. Maybe I’ll have something by the end of the coming weekend if I have enough time.
In defense of bbPress, I think they went without search for a long time intentionally. It was not even included in the stock template until recently. The intention was that you could use tags to find specific content, click a member’s name to get all the replies they made and topics they started, etc.
For topics with no replies, there is a default view for that (look at the home page of this forum, near the bottom, to see it.) For other views, you probably want the My Views plugin by _ck_.
https://bbpress.org/plugins/topic/my-views/
http://bbshowcase.org/forums/
(look at the bottom right for all the views)
If your server supports mod_rewrite and .htaccess, you can make pretty permalinks work (if they work for WordPress, they can work for bbPress). You just need to follow the instructions.
And if bbPress is in a sub-directory of WordPress (collectibles-talk), then you will have two .htaccess files, or possibly all the rules in the WordPress-level .htaccess. The .htaccess you posted is the default WordPress one. You need more rules for bbPress.
Here is something about that:
https://bbpress.org/forums/topic/pretty-permalinks-not-working?replies=24#post-7743
Firstly, have you checked to make sure that your site paths are correct in both bbPress and WordPress? Since you shifted directories, the paths to those new directories need to be adjusted in the database.
Secondly, are there normal user tables to go along with those weird empty ones? Part of the integration process is telling bbPress which tables to find your users in. Is it possible that you added an extra “_” on accident, and bbPress created those tables while it was looking for the real ones?
We’re all experiencing the same issue.
Integration appears to be a little broken still.
If you need to use the WP functions in your bbPress, that will break it further by not allowing you to access your bbPress admin panel at all.
The problem looks like the bb_map_meta_cap filter is ignored when the WordPress functions are loaded in place of the bbPress ones.
Some users have been able to resolve this by using a .htaccess file to redirect to the bbPress login and register page whenever an attempt to register or login is made through WordPress. That is the best fix at the moment if you do not require access to the WP functions.
If you do require that access, then you will need to wait until a fix comes out for the issue I mentioned above. That’s where I am.
No issues so far, just wanted you to know that Runs fine on my (live) site!
WP2.6/BBpress1a
I think my cookies settings are all in a pretzel! (Or the admin roles are mis-mapped?)
I’ve had a challenging time getting these integrated, but I can see the light at the end of the tunnel…
If I log in as admin from WP, I can post at bb, but can’t access the backpages, nor can i logout.
If I login from BBpress, everything works normally. I’m confused about the various settings for cookie paths, since both the blog and forum are in subfolders of the site, to allow for future expansion without having to move them again.
http://www.epnyc.org
http://www.epnyc.org/forum
http://www.epnyc.org/blog
Interesting. There any code from there you can release in the mean time? Pretty disappointed that bbPress has such poor search, but not surprising given how little information and documentation there is.
It seems like there are several issues here, and I’m not sure which is really the issue or which is a bug…
Firstly, when integrated, bbPress wants to use the WordPress classes and functions where possible. Namely, the problem with capabilities lies currently with the difference in the WP_User->has_cap
function.
On the WordPress side of it, it is missing the global $wp_roles;
and the corresponding check of those roles against the current capability to check.
$caps = call_user_func_array( array(&$wp_roles, 'map_meta_cap'), $args );
So I’m not sure if this is just a case of bbPress not keeping up with the WordPress user/role classes, or if this is WordPress not properly carrying over bbPress capabilities.
Ugh…
I JUST FOUND THE PROBLEM CHRIS….
I forgot to fill out my config.php file, so BBpress used the one that WP is using. They are both using the same database.
BBpress somehow found the info from WP’s config.php file and used it. I remember BBpress telling me it didn’t find the config.php file, and did I want it to fill one out for me. I clicked “yes” and it took the info from WP’s config.php
I noticed this in my FTP…..there is a config.php.sample (came with BBpress) and a config.php that BBpress generated.
I need to start a new database and fill out manually a config.php to go with it. Thanks for all your help Chris and I hope this helps others that may have done the same thing.
Thanks for trying to help on this Chris. Here is what my htaccess file looks like at the moment:
Options +MultiViews
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
Keep in mind this is in my root directory. (so both WP and BBpress are both using it?)
Am I supposed to have a seperate htaccess file in the bbpress directory too?
I got access to the code you sent me. Do I delete the above code and replace it with this code you sent?
If you need encryption, you could just access the forum over SSL, right, like https://www.example.com/forum/ -you’d need a SSL cert, but this would encrypt the traffic, correct?
Or are you trying to do something else?
The 40 users is not a problem for bbPress.
Hi, i am thinking about using bbPress to build a forum where up to 40 users could login. The login details need to be very secure and encrypted. Is this a feature?
Thanks
That’s an interesting idea ck, and that might get me where I want to go.
Have you seen anyone do something like through bbshowcase?
The approach Digg uses is very simple and would not need such an advanced plugin like “promote to front page”.
All you need to mimic Digg is allow voting on topics and then replace the part of your front page that shows the latest-discussions with the list of topics by highest rank.
In fact there is already a topic voting plugin that does that, you’d just have to edit your front-page layout. You could then go further like Digg does and restrict highest rated by date – 24 hours / 7 days / 30 days / all time