The key word in their answer is ‘should’ – by which they mean that they do not intend to do it, and they think that each forum provider (in this case bbpress) ‘should’ do this – but free software only contains what the software authors want it to. From a small amount of looking at that article, I’d suggest that it would be 1-3 weeks work to provide a solution as either a google structured expert would need to learn bbpress or a bbpress expert would need to learn google structured, and not something that I have any interest in doing – sorry š
Is there a plugin or function to sort topics by weight? In other words, a field where a numerical value can be added, and if a value exist in this field, it brings the topic to top of topic lists.
And each topic that has a value in it, if the value is higher than other values of topics, the highest values are are the top of topic lists. And then topics which have no values are sorted in topic list in default manner.
I’ve seen sorting set up with values like this in all types of scripts, and just hoping there is a way to accomplish this in bbPress.
Thanks for any suggestions.
Liking posts is very engaging for users, especially if there’s a page that shows the users who have received the most likes. It’s true, but it’s a shame it doesn’t exist by default on BBpress.
You can achieve this without raw SQL by looping through the replies and filtering out the authorās own ones. Something like this:
$reply_count = 0;
$replies = bbp_get_all_child_ids( $topic_id, bbp_get_reply_post_type() );
if ( ! empty( $replies ) ) {
foreach ( $replies as $reply_id ) {
if ( get_post_field( ‘post_author’, $reply_id ) != $author_id ) {
$reply_count++;
}
}
}
This way you count only replies not made by the topic author. Then you can compare $reply_count with your threshold to trigger the reward.
Itās lightweight, avoids direct SQL, and keeps everything inside bbPress/WordPress functions.
Hello,
We are running bbPress 2.6.14 on a WordPress 6.8.2 site with a private forum.
We have noticed a strange issue:
Some subscribed users receive email notifications when new topics/replies are posted.
Other subscribed users (from the same forum) do not receive anything.
We checked spam/junk folders, nothing there.
Trying to unsubscribe and resubscribe does not solve the issue.
So I have two main questions:
Where are subscriptions stored in the database with bbPress 2.6.14?
I donāt see a wp_bbp_engagements table in my DB.
I also donāt see any _bbp_subscriptions or _bbp_topic_subscriptions entries in wp_usermeta.
Yet some users clearly do receive notifications.
How does bbPress decide who gets notified?
Is it handled directly via wp_mail() when a reply/topic is created?
Could private forums behave differently compared to public ones?
Troubleshooting guidance
Is there a way to ārebuildā or āresetā subscriptions to ensure consistency?
Should I try to manually create the wp_bbp_engagements table if it is missing?
Iād really appreciate if someone could clarify how subscription data is stored and how email notifications are triggered in bbPress 2.6.14, so I can debug why some users receive emails and others donāt.
Thanks a lot!
I have disabled all plugins other than buddypress and bbpress.
Issue requires both to enabled. buddypress by itself does not cause this.
I am seeing this VERY HIGH log spam on every page load:
Notice: Function _load_textdomain_just_in_time was called incorrectly. Translation loading for the bbpress domain was triggered too early. This is usually an indicator for some code in the plugin or theme running too early. Translations should be loaded at the init action or later. Please see Debugging in WordPress for more information. (This message was added in version 6.7.0.) in …/wp-includes/functions.php on line 6121
ytParticipant
Hello
My question is:
In the address
Layout and functionality – Examples you can use
In the issue
25.Restricting User Access to the WordPress backend
Add this PHP code snippet so that only users who can only edit posts can access the WordPress admin section.
Which was introduced to prevent the logged-in user from accessing the counter of the following code
/**
* Redirect back to homepage and not allow access to
* WP backend for Subscribers.
*/
function rkk_redirect_admin(){
if ( ! current_user_can( ‘edit_posts’ ) ){
wp_redirect( site_url() );
exit;
}
}
add_action( ‘admin_init’, ‘rkk_redirect_admin’ );
The code works fine, but the bug is that:
Although it appears to prevent a common user from accessing the WordPress dashboard, the same user can easily bypass the code ban and log in to the dashboard by opening a new tab in the browser and entering the address
https://wordpress.org/wp-admin/
in that tab and pressing Enter. This is the bug in the above code.
The question is:
How can I change the above code to prevent the trick of logging into the dashboard as described above?
Thank you in advance for your advice.
Wordpress version 6.8.2
bbPress version 2.6.14
In my forum, I have some sticky notes that are closed. They have a yellow highlight around them and I can’t figure out how to remove it.
How to remove yellow highlights?
I have tried a number of CSS overrides but no success. Any ideas? I feel like I am missing something simple.
Thank you!
DS
as with your other question
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
ok, that does not belong to the bbpress search field default.
It could be added by several things, without a link to a live example (which would let me see in browser what class it is and try and see what is sending it) I can only suggest you
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
it’s a private site, so not sure how to let anyone see it. But here is screenshot of what search field with message:

Hi John, just following up to see if youāve had a chance to look into the points I mentioned in my previous post.
Last night I had some free time to test this further. I set up a brand new WordPress install with only BBPress and BuddyPress. I then created a forum with 16 posts.
Using the Twenty Twenty-Four theme, I was unable to view Page 2 of “Topics Started.” The only way I could view it was by installing the BP Classic plugin.
The most recent change to that plugin was:
Version: 1.4.0 ā Ensure bbPress topics/replies pagination behaves as expected with BuddyPress 12.0 & up (See #44).
Here are the changes that imath added to fix the pagination issue.
—
I’ve now seen this issue in 3 places: my public website, the website I sent you via PM on Instagram, and a clean install. I hope that I’ve been able to provide enough examples that this issue still exists.
yes that would be it, and yes bbpress uses these settings for moderation
I migrated an old custom forum to bbpress, and today (I opened the forum yesterday) a user registered and wrote a topic, but it wasn’t visible (I noticed this by accident because the section in the frontend where it says “x topics are not public” is really small), and I had to manually approve it.
Why? Do I have to set the permissions for registered users somewhere?
Thanks
you need to submit this to Yoast, nothing that bbpress can do about it
Hello,
Iāve noticed a possible bug in the way Yoast SEO generates sitemaps for bbPress replies.
ā In the topic-sitemap.xml files, the topic URLs are correctly generated and point to the actual topics (e.g. https://www.example.com/topic-name.html).
ā But in the reply-sitemap.xml files, every reply entry points to the same generic URL like https://www.example.com/forums/reply, which doesnāt resolve to the actual reply.
As a result:
ā These sitemap entries are invalid because they donāt lead to a specific page.
I built a custom plugin (with ChatGPTās help) that adds proper URLs for replies, but Iām wondering: does it even make sense to submit reply URLs to Google?
Wouldnāt it be better if Yoast excluded replies from the sitemap entirely, and only kept topics?
I also noticed that in the Yoast settings (SEO ā Search Appearance ā Content Types) it is possible to disable āRepliesā. That solves the problem, but shouldnāt this be the default setting?
Or alternatively, if replies are enabled, shouldnāt Yoast output the correct URLs instead of /forums/reply?
Can you clarify what the recommended behavior is?
Thank you!
Hi everyone,
Iād like to share a very useful snippet for bbPress that I had a hard time finding on Google, but which can save a lot of time.
For many communities itās extremely helpful to have the āNotify me of follow-up replies via emailā box checked by default. This way, users are automatically notified of new replies and are more likely to come back to the forum and engage in the discussion.
Here is a simple solution that works on the latest WordPress + bbPress. Just add it to your themeās functions.php or into a small custom plugin:
// Auto-check the "Notify me of follow-up replies via email" box (topic + reply forms)
add_action('wp_footer', function () {
if (is_admin() || !function_exists('bbp_is_subscriptions_active') || !bbp_is_subscriptions_active() || !is_user_logged_in()) {
return;
}
?>
<script>
document.addEventListener('DOMContentLoaded', function () {
var t = document.getElementById('bbp_topic_subscription');
if (t && !t.checked) t.checked = true;
var r = document.getElementById('bbp_reply_subscription');
if (r && !r.checked) r.checked = true;
});
</script>
<?php
}, 99);
With this snippet, whenever a logged-in user creates a new topic or reply, the subscription checkbox will already be checked by default.
Of course, the user can still uncheck it if they donāt want notifications.
This small trick makes it much easier to keep members engaged and ensures they donāt miss important replies.
Hope it helps others too, since I believe this should be more widely documented!
ok, thanks.
Given that the file is now ‘redundant’ in the child theme (as it is now the same as bbpress), are you able to remove both that whole file and the call to it – presumably in the child theme functions file.
It may be that calling it as part of a theme rather than plugin is affecting how bbpress works at that point – but I am just guessing at possible issues
Thank you for helping me interpret that!
This is what was on that line:
<p class="logo_tagline"><?php bloginfo(description); ?></p>
I added single quotes to 'description' and now the forums fully load (when FS_METHOD is set to direct). That line was basically the only difference between the original bbpress.php and the child theme’s copy of bbpress.php.
Unfortunately, that fix only works with FS_METHOD set to direct. I need it set to ftpext so WordPress requests FTP credentials (for things like plugin updates), because otherwise WP doesn’t have write permission.
When I change FS_METHOD to ftpext, the forum pages start giving me the ol’ “There has been a critical error on this website” message.
The log gives me this:
[08-Aug-2025 17:23:55 UTC] PHP Fatal error: Uncaught TypeError: ftp_fget(): Argument #1 ($ftp) must be of type FTP\Connection, null given in /var/www/vhosts/[SITEURL]/httpdocs/wp-admin/includes/class-wp-filesystem-ftpext.php:146
That’s not a bbPress file, so I think I’ll have to talk with our webhost about this.
Thanks for your help!
This has been removed probably because it no longer worked.
Since bbpress just uses WordPress login, If you google ‘modal popup login wordpress’ you’ll find both code and plugins that do this
ok the fatal error is
[07-Aug-2025 22:39:39 UTC] PHP Fatal error: Uncaught Error: Undefined constant "description" in /var/www/vhosts/[SITEURL]/httpdocs/wp-content/themes/Avada-Child-Theme/bbpress.php:22
so this is a file called bbpress.php which sites in you child theme.
I suspect that this is a file that contains amendments to bbpress that someone has made, but without knowing why that file is there and what it does, I cannot say further
ytParticipant
Hello everyone
My site was created with WordPress 6.8.2 and BBPress 6.2.14 with the WordPress 2025 theme block template.
In the BBPress documentation titled: “Layout and functionality ā Examples you can use” at:
Development & Updates
in line 12 it says:
12. Add a modal login (pop-up) window
This is quite neat and the instructions add it to the menu and, if necessary, add the login/logout.
The login looks like this
https://buddypress.org/wp-content/uploads/53/2014/02/modal-login3-300×144.jpg
There are different styles available and you can have your own style.
Instructions can be found here:
https://codex.bbpress.org/modal-login-in-a-menu/
I tried to access it, but unfortunately the link gives an error of
Error 404 – Destination Not Found.
Please advise on how I can enable the above mentioned forum registration and login pop-up in my site’s forum?
Thank you in advance for your help.
When I try to access a forum, I only see the site header (the rest of the page is blank). This is what shows up in my debug.log:
[07-Aug-2025 22:39:33 UTC] PHP Warning: chmod(): Operation not permitted in /var/www/vhosts/[SITEURL]/httpdocs/wp-admin/includes/class-wp-filesystem-direct.php on line 173
[07-Aug-2025 22:39:34 UTC] PHP Warning: chmod(): Operation not permitted in /var/www/vhosts/[SITEURL]/httpdocs/wp-admin/includes/class-wp-filesystem-direct.php on line 173
[07-Aug-2025 22:39:39 UTC] PHP Deprecated: str_replace(): Passing null to parameter #3 ($subject) of type array|string is deprecated in /var/www/vhosts/[SITEURL]/httpdocs/wp-content/themes/Avada/includes/class-avada-layout-bbpress.php on line 219
[07-Aug-2025 22:39:39 UTC] PHP Deprecated: str_replace(): Passing null to parameter #3 ($subject) of type array|string is deprecated in /var/www/vhosts/[SITEURL]/httpdocs/wp-content/themes/Avada/includes/class-avada-layout-bbpress.php on line 219
[07-Aug-2025 22:39:39 UTC] PHP Fatal error: Uncaught Error: Undefined constant "description" in /var/www/vhosts/[SITEURL]/httpdocs/wp-content/themes/Avada-Child-Theme/bbpress.php:22
Stack trace:
#0 /var/www/vhosts/[SITEURL]/httpdocs/wp-includes/template-loader.php(106): include()
#1 /var/www/vhosts/[SITEURL]/httpdocs/wp-blog-header.php(19): require_once('/var/www/vhosts...')
#2 /var/www/vhosts/[SITEURL]/httpdocs/index.php(17): require('/var/www/vhosts...')
#3 {main}
thrown in /var/www/vhosts/[SITEURL]/httpdocs/wp-content/themes/Avada-Child-Theme/bbpress.php on line 22
[07-Aug-2025 22:39:39 UTC] PHP Warning: chmod(): Operation not permitted in /var/www/vhosts/[SITEURL]/httpdocs/wp-admin/includes/class-wp-filesystem-direct.php on line 173
[07-Aug-2025 22:39:47 UTC] PHP Warning: chmod(): Operation not permitted in /var/www/vhosts/[SITEURL]/httpdocs/wp-admin/includes/class-wp-filesystem-direct.php on line 173
The above is with this in wp-config.php:
define('FS_METHOD', 'direct');
Our sites are normally set to define('FS_METHOD', 'ftpext'); but that produces a much longer error string in the log and a “this site has experienced a critical error” message in the browser.
Our prod site is on PHP 7.4.33 and doesn’t have any issues in either FS_METHOD mode. Did PHP 8 change something that affected filesystem access?
Notes:
– This is a multisite with a bbPress forum on almost all sites.
– Our theme, Avada, runs fine on our other dev site with PHP 8.4.
line #956,
// Only update if reply is published
if ( ! bbp_is_reply_pending( $reply_id ) ) {
As per the comment, it should check if reply is published. But this condition will be true even if the reply is marked as spam. Instead it should use if ( bbp_is_reply_published( $reply_id ) ). Same thing I have observed for topic as well. If topic is marked as spam by akismet, the last active parameters reflects the spam topic instead of last published topic.