that’s great – thanks
so on my test site, I hid a forum and logged in as a participant, and the index shows fine.
so we need to work out what the difference between your site and my test site is.
so initially let’s eliminate outside factors such as a theme or plugin issue
Themes
As a test switch to a default theme such as twentytwenty, and see if this fixes.
Plugins
If that doesn’t work, also deactivate all plugins apart from bbpress and see if this fixes. if it does, re-enable one at a time to see which is causing the error.
If you cannot do this to your site (say because it is live) then use the ‘troubleshooting’ features of this plugin to let you test without affecting other users
Health Check & Troubleshooting
Then come back
on 2. previous advice applies
it could be a theme or plugin issue
Themes
As a test switch to a default theme such as twentytwenty, and see if this fixes.
Plugins
If that doesn’t work, also deactivate all plugins apart from bbpress and see if this fixes. if it does, re-enable one at a time to see which is causing the error.
If you cannot do this to your site (say because it is live) then use the ‘troubleshooting’ features of this plugin to let you test without affecting other users
Health Check & Troubleshooting
Then come back
Interesting, now I can see that apparently Keymaster was automatically populated for my 2 admin people, and participant was automatically populated for a couple of authors (ones who have submitted content). For 2 authors who have not yet submitted content, nothing was automatically populated.
However, I went in to edit user and added them as participants. When I go back to edit user, it retains that I chose that for that user, it’s shown there, but when I look at “all users” it appears as if nothing has been selected for them yet, under the BBpress role. But perhaps that will start to appear once those authors have submitted a post?
I’m going to experiment with logging in as different usernames to test this and see if it works. I have not uninstalled bbpress yet, as so far I’m thinking maybe it won’t be necessary. Perhaps, hopefully, it was only the issue of needing to switch from Default view to CLASSIC VIEW, under users, to see the proper user options for BBPress.
Robin, thanks once again for all of these tips.
I’ve been logged in as admin / owner of site and when I go to users, all users, it has tabs at the top that say team, followers, email subscribers, invites.
When I look at a user, it has the radio buttons with several options for roles, the wordpress standard ones, followed by the bbpress ones, and no distinction between the two, they are just in a running list, and you cannot pick more than one.
Oh! I just remembered, there is a little white rectangle in the upper right corner that allows you to choose DEFAULT VIEW (what I’m seeing) or CLASSIC VIEW. I just changed that, and now I’m seeing “Side by Side” columns like what you are describing.
Wow! That’s important.
I suspect your theme is amending how forums display, as these are not in a grid by default, and the ‘all discussions’ is not what I woudl exoect [bbp-forum-index] to show.
So I’d still need a link to this to see what is being downloaded.
It’s so odd that bbpress wouldn’t let people….
you do need to accept that your site is unique – there is no other WordPress site that is ‘exactly’ the same, you have a combination of php versions, theme, plugins pages, posts and numerous settings that no-one else has.
Therefore, please do not assume that what you are seeing is what everyone sees –
setting wordpress and bbpress roles to both exist is normal, what you are seeing is not.
it could be a theme or plugin issue
Themes
As a test switch to a default theme such as twentytwenty, and see if this fixes.
Plugins
If that doesn’t work, also deactivate all plugins apart from bbpress and see if this fixes. if it does, re-enable one at a time to see which is causing the error.
If you cannot do this to your site (say because it is live) then use the ‘troubleshooting’ features of this plugin to let you test without affecting other users
Health Check & Troubleshooting
Then come back
there are wordpress roles – administrator, editor, author etc.
and there are bbpress roles – keymaster, moderator, participant etc.
The two exist side by side
Private forums can only be accessed by people with a bbpress role.
The default role given to wordpress users is set up in
dashboard>settings>forums>role
That way you can decide who sees what.
If you have existing users, you can just allocate them the participant role (typically) in dashboard>users>all users> and edit each user.
thanks – ok I’m not seeing this, so either it is a setting, or a combination of theme/plugins
maybe try
Themes
As a test switch to a default theme such as twentytwenty, and see if this fixes.
Plugins
If that doesn’t work, also deactivate all plugins apart from bbpress and events calendar and see if this fixes. if it does, re-enable one at a time to see which is causing the error.
If you cannot do this to your site (say because it is live) then use the ‘troubleshooting’ features of this plugin to let you test without affecting other users
Health Check & Troubleshooting
Then come back
I see:
https://stackoverflow.com/q/65297279/2287576
I think easiest is to drop the defaultness of first parameter in function declaration.
ok, suspect that the membership plugin or another plugin is affecting that.
it could be a theme or plugin issue
Themes
As a test switch to a default theme such as twentytwenty, and see if this fixes.
Plugins
If that doesn’t work, also deactivate all plugins apart from bbpress and see if this fixes. if it does, re-enable one at a time to see which is causing the error.
If you cannot do this to your site (say because it is live) then use the ‘troubleshooting’ features of this plugin to let you test without affecting other users
Health Check & Troubleshooting
Then come back
The issues I am having with it is below
1) On https://beechwoodsolutions.co.uk/sites/tftdirectorysite/forums/forum/forum/ I login and it redirects me to the wordpress default login page at https://beechwoodsolutions.co.uk/sites/tftdirectorysite/wp-login.php but if I click back in the browser, it has logged me in and I can post a new topic but don’t want front end users to see the default wordpress login page, I just want them to login and then create a new topic
Will that plugin bbp style pack solve the issue I am having with it?
it could be a theme or plugin issue
Themes
As a test switch to a default theme such as twentytwenty, and see if this fixes.
Plugins
If that doesn’t work, also deactivate all plugins apart from bbpress and see if this fixes. if it does, re-enable one at a time to see which is causing the error.
If you cannot do this to your site (say because it is live) then use the ‘troubleshooting’ features of this plugin to let you test without affecting other users
Health Check & Troubleshooting
Then come back
ah, found the function that the ajax call is doing.
this code works on my test site
function remove_sep ($args) {
$args['before'] = ' ' ;
return $args ;
}
add_filter ('bbp_before_get_topic_subscribe_link_parse_args', 'remove_sep') ;
remove_action( 'bbp_ajax_subscription', array( 'BBP_Default', 'ajax_subscription' ) );
add_action ( 'bbp_ajax_subscription', 'new_ajax_subscription');
function new_ajax_subscription() {
// Bail if subscriptions are not active
if ( ! bbp_is_subscriptions_active() ) {
bbp_ajax_response( false, esc_html__( 'Subscriptions are no longer active.', 'bbpress' ), 300 );
}
// Bail if user is not logged in
if ( ! is_user_logged_in() ) {
bbp_ajax_response( false, esc_html__( 'Please login to subscribe.', 'bbpress' ), 301 );
}
// Get user and topic data
$user_id = bbp_get_current_user_id();
$id = ! empty( $_POST['id'] ) ? intval( $_POST['id'] ) : 0;
$type = ! empty( $_POST['type'] ) ? sanitize_key( $_POST['type'] ) : 'post';
// Bail if user cannot add favorites for this user
if ( ! current_user_can( 'edit_user', $user_id ) ) {
bbp_ajax_response( false, esc_html__( 'You do not have permission to do this.', 'bbpress' ), 302 );
}
// Get the object
if ( 'post' === $type ) {
$object = get_post( $id );
}
// Bail if topic cannot be found
if ( empty( $object ) ) {
bbp_ajax_response( false, esc_html__( 'Subscription failed.', 'bbpress' ), 303 );
}
// Bail if user did not take this action
if ( ! isset( $_POST['nonce'] ) || ! wp_verify_nonce( $_POST['nonce'], 'toggle-subscription_' . $object->ID ) ) {
bbp_ajax_response( false, esc_html__( 'Are you sure you meant to do that?', 'bbpress' ), 304 );
}
// Take action
$status = bbp_is_user_subscribed( $user_id, $object->ID )
? bbp_remove_user_subscription( $user_id, $object->ID )
: bbp_add_user_subscription( $user_id, $object->ID );
// Bail if action failed
if ( empty( $status ) ) {
bbp_ajax_response( false, esc_html__( 'The request was unsuccessful. Please try again.', 'bbpress' ), 305 );
}
// Put subscription attributes in convenient array
$attrs = array(
'object_id' => $object->ID,
'object_type' => $type,
'user_id' => $user_id
);
// Add separator to topic if favorites is active
if ( ( 'post' === $type ) && ( bbp_get_topic_post_type() === get_post_type( $object ) ) && bbp_is_favorites_active() ) {
$attrs['before'] = ' ';
}
// Action succeeded
bbp_ajax_response( true, bbp_get_user_subscribe_link( $attrs, $user_id, false ), 200 );
}
I need to add a class to the dropdown topic select_class.
the original function is:
function bbp_get_form_topic_status_dropdown( $args = array() ) {
// Parse arguments against default values
$r = bbp_parse_args( $args, array(
'select_id' => 'bbp_topic_status',
'select_class' => 'bbp_dropdown',
'tab' => false,
'topic_id' => 0,
'selected' => false
), 'topic_open_close_select' );
// Filter & return
return apply_filters( 'bbp_get_form_topic_status_dropdown', ob_get_clean(), $r, $args );
}
I tired to use this but didnt work
function custom_callback($args = array() ) {
$r = bbp_parse_args( $args, array(
'select_class' => 'my-class',
) );
return $r;
}
add_filter( 'bbp_get_form_topic_status_dropdown', 'custom_callback', 12, 2);
@robin-w or another mod – can you please delete:
https://bbpress.org/forums/topic/template-in-block-themes/#post-232249 (#post-232249)
https://bbpress.org/forums/topic/template-in-block-themes/#post-232250 (#post-232250)
https://bbpress.org/forums/topic/template-in-block-themes/#post-232256 (#post-232256)
They had issues and take up a lot of wasted space.
Seriously done this time! No more changes/revisions! It is what it is!
Posting a much cleaner revision of the code above.
- This one will work with either the BBPress Style Pack plugin template (looks great!) or the default BBPress template (looks horrible!).
- It will optionally include the required ‘template-canvas.php’ only if it’s missing.
- It will also only affect BBPress pages, not the rest of the site.
- It will also only affect FSE Block themes.
- If using default BBPress templates, it includes checks for if on forum root index page and loads extras/archive-forum.php (to prevent double-listing of the forum index), and loads extras/page-front-forums.php for “the rest of bbpress” (to prevent “nothing found” errors)
// function to include the wp-includes/template-canvas.php file if needed
function fse_bbpress_template( $template ) {
if ( is_bbpress() ) {
$template = ABSPATH . WPINC . '/template-canvas.php';
}
return $template;
}
// function to include the bbpress forum template file if needed
function fse_bbp_theme_compat( $template ) {
if ( is_bbpress() ) {
// BBPress Style Pack Plugin Forums Index Template
if ( defined( 'BSP_PLUGIN_DIR' ) ) {
$template = BSP_PLUGIN_DIR . '/templates/bbpress.php';
} else {
// Default BBPress
// if current page is bbpress forum root page, load archive-forum to prevent double-listing of index
if ( isset( get_queried_object()->name ) ) {
if ( get_queried_object()->name == 'forum' ) {
$template = WP_CONTENT_DIR . '/plugins/bbpress/templates/default/extras/archive-forum.php';
}
// else, load page-front-forums or the rest of bbpress is broken with empty pages
} else {
$template = WP_CONTENT_DIR . '/plugins/bbpress/templates/default/extras/page-front-forums.php';
}
}
}
return $template;
}
// main function for handling which theme file needs to be included
if ( ! function_exists( 'fse_bbpress_support' ) ) {
function fse_bbpress_support() {
// get current theme dir
$theme_dir = get_template_directory();
/*
* Detect if FSE theme or traditional.
* FSE Block themes require a theme.json file.
* Use that to check instead of theme name or parent theme name.
* Perhaps a better method is available, but this works for now
*/
if ( file_exists( $theme_dir . '/theme.json' ) ) {
// include wp-includes/template-canvas.php only if needed
if ( !basename( get_page_template() ) == 'template-canvas.php' ) {
add_filter( 'template_include', 'fse_bbpress_template' );
}
// include either the BSP template, or default BBPress template
add_filter ( 'bbp_template_include_theme_compat', 'fse_bbp_theme_compat' );
}
}
}
add_action( 'after_setup_theme', 'fse_bbpress_support' );
One issue with EVERY default BBPress template is that the header/footer/sidebar are trying to be pulled from template files that don’t exist in block themes. They’re being included, but don’t look right. I’m not sure of the best solution for that, other than to use the BBPress Style Pack Plugin which takes care of that and looks great.
no, I need to see what is being downloaded to your browser.
alternately :
it could be a theme or plugin issue
Themes
As a test switch to a default theme such as twentytwenty, and see if this fixes.
Plugins
If that doesn’t work, also deactivate all plugins apart from bbpress and see if this fixes. if it does, re-enable one at a time to see which is causing the error.
If you cannot do this to your site (say because it is live) then use the ‘troubleshooting’ features of this plugin to let you test without affecting other users
Health Check & Troubleshooting
Then come back
Using the clues in this topic, this is what I have working for ANY FSE Block theme with the wonderful style-pack plugin:
function fse_bbpress_template( $template ) {
$template = ABSPATH . WPINC . '/template-canvas.php';
return $template;
}
function fse_bbp_theme_compat( $template ) {
$template= BSP_PLUGIN_DIR.'/templates/bbpress.php';
return $template;
}
if ( ! function_exists( 'fse_bbpress_support' ) ) {
function fse_bbpress_support() {
// gt current theme dir
$theme_dir = get_template_directory();
// Detect if FSE theme or traditional.
// FSE Block themes require a theme.json file.
// Use that to check instead of theme name or parent theme name.
// Perhaps a better method is available, but this works for now.
$fse_theme = false;
if ( file_exists( $theme_dir.'/theme.json' ) ) { $fse_theme = true; }
if ( !$fse_theme ) { return; }
// disabled because it doesn't seem to be needed, regardless of style pack
// $bsp_style_settings_theme_support['twentytwentytwo_activate'] setting
// template-canvas.php seems to be included by default
//add_filter( 'template_include', 'fse_bbpress_template' );
add_filter ( 'bbp_template_include_theme_compat' , 'fse_bbp_theme_compat' );
}
}
add_action( 'after_setup_theme', 'fse_bbpress_support' );
and this little helper function helped me figure out what template was getting loaded in the first place:
function fse_bbpress_print_template() {
if ( is_bbpress() ) {
//echo at the bottom of the page visibly
echo get_page_template();
// or echo the template silently as an HTML comment
// echo '<!-- ' . get_page_template() . ' -->';
}
}
// DISABLE THIS ACTION HOOK AS SOON AS POSSIBLE! DO NOT LEAVE IT ACTIVE WHEN DEBUGGING IS DONE!
add_action( 'bbp_template_after_forums_loop', 'fse_bbpress_print_template' );
I’ve tried this on a few different FSE Block themes, and BBPress is displaying properly, and the style tweaks from the wonderful Style-Pack plugin are being applied.
Like I said, it’s working regardless of the $bsp_style_settings_theme_support[‘twentytwentytwo_activate’] setting within the BSP plugin, but it uses the template from the plugin so it would still need to be installed an active, even without any styling tweaks applied.
It’s not a permanent solution, but perhaps aspects of this could be applied to the BSP plugin, or your own custom solution.
Hello,
Thank you for such great plugin, very promising so far.
I have a few questions regarding login/ register. Yes, I have searched through the documentations and support but could not find any answer regarding these.
Installed theme/ plugins: free Astra theme, wp 6.0.2, bbpress 2.6.9, bbp style pack 5.0.8.
1. I have set up login box in the sidebar, and I would like to remove the default login box below topics/ posts. How is this done?

2. What is the best way to reduce the size of the login background box? I have attempted using SiteOrigin but when I it I’m shown the hover attribute so I can’t identify it to make the adjustment.

3. I would like to also try placing login link in below the main menu (like its done here in bbpress forum). How is this done? I do have “bbp style pack” plugin installed, but it places the login in the main menu bar, which I do not want.
Thank you in advance.
Based on my recent trouble-shooting, your issue could be caused by two potential reasons:
- Your CDN service provider altered the link to your video file. You might want try turning it off, so that the address of your video would change back to something like https://yourdomain.com/wp-content/uploads/2022/10/cute_dog.mp4?time=1664812918, which is the actual location of your file. You may also check the source code of our pole line hardware website, on which we encountered a similar issue a few months ago. (We bought Godaddy’s WP plan, and its default CDN setting was turned on. We now use Cloudflare. A much better CDN. )
- Or, it may be caused by conflicting plugins installed on your website. Which means the embed function cannot work properly. You could try disable them all and flush your server cache to find the culprit.
Personally, if you are code-savvy, I would recommend employing a method called lite youtube embed for videos. Simply put, it reduces page loading time by serving your video only after the viewer hit PLAY, which drastically reduces the amount of data transferred on page load.
That’s all I can come up with based on your information. Best of luck!!
it could be a theme or plugin issue
Themes
As a test switch to a default theme such as twentytwenty, and see if this fixes.
Plugins
If that doesn’t work, also deactivate all plugins apart from bbpress and see if this fixes. if it does, re-enable one at a time to see which is causing the error.
If you cannot do this to your site (say because it is live) then use the ‘troubleshooting’ features of this plugin to let you test without affecting other users
Health Check & Troubleshooting
Then come back
1 & 2
it could be a theme or plugin issue
Themes
As a test switch to a default theme such as twentytwenty, and see if this fixes.
Plugins
If that doesn’t work, also deactivate all plugins apart from bbpress and see if this fixes. if it does, re-enable one at a time to see which is causing the error.
If you cannot do this to your site (say because it is live) then use the ‘troubleshooting’ features of this plugin to let you test without affecting other users
Health Check & Troubleshooting
Then come back
3. bbpress follows the rules in dashboard>settings>discussion
I am not good with English and use translation software.
By default, new posts are displayed at the bottom, so I used the plugin “bbPress – Sort topic replies” to change the sort order.
This plugin allows new posts to appear at the top, but I would like to change the URL in the notification email when a post is made to the board.
Currently it says “https://✕✕✕✕/forums/topic/bulletin-board/page/19/#post-4536”
and when accessed from here, the user is taken to the last page, page 19.
I would like to delete the “page/19/” part of this URL, but I don’t know where to delete it.
Please help me.
Can I do one thing, Ceate a forum, select it by default, and categorize the topics?
the user can create new categories.
If not, can the user create a new forum while creating a new topic?
Hello!
Pretty much as it says in the title.
How do I configure BBpress to auto approve all new topics and not put them into a moderation queue by default?
We use a spam cloud service so I am not too worried about spam topics as they will be filtered out automatically.
Thanks in advance
Kind regards
AngryWarrior