install
bbp style pack
once activated go to
dashboard>settings>bbp style pack>Forum Display and add item 6
then
dashboard>settings>bbp style pack>custom css and add
.bbp-forum-info .bbp-forum-content {
display: none !important;
}
Hey. The shortcut [bbp-single-forum id = $ forum_id] has stopped working on my web page. When a parent forum should be displayed with sub-forums, nothing is displayed. When I upload ids of sub-forums, the topics embedded in them are visible.
For exemple: parent id=1, sub id=2:
[bbp-single-forum id = 1] – nothing displays, no sub-forums visible
[bbp-single-forum id = 2] – topics are displayed
After entering [bbp-forum-index], nothing is displayed either.
What’s going on?
Info: bbPress 2.6.4, Jannah Theme
Plugins with bbPress: bbp profile information, bbp style pack, bbP topic count, GD bbPress Attachments, GD bbPress Tools, rtMedia for WordPress, BuddyPress.

I am trying to move a forum from one site to a new one. I went to Tools > Export on the old site and exported “forums”, “topics” and “replies”. Then I went to the new site and went to Tools > Import > WordPress and imported each. I am seeing all the data in the admin as far as I can tell but when I try and view it on the front end it is not showing any replies within the topics. The listing page of topics is correctly showing how many replies there should be, but none appear.
I then tried going to Tools > Forum and repairing each item separately and after I did that It was only showing each topic on the frontend as not having any replies.
However, if I do the import without doing the repair and then go to the reply I’m expecting to see and “save” it… I now see that reply under the proper topic on the frontend.
Thoughts?
this
Function reference
suggests
pll_register_string($name, $string, $group, $multiline);
‘$name’ => (required) name provided for sorting convenience (ex: ‘myplugin’)
‘$string’ => (required) the string to translate
‘$group’ => (optional) the group in which the string is registered, defaults to ‘polylang’
‘$multiline’ => (optional) if set to true, the translation text field will be multiline, defaults to false
so maybe
pll_register_string( 'slug_users', '_bbp_user_slug', 'polylang' );
Here:
Theme My Login
You can install it from there.
Hi, I have WP WordPress 5.4 with bbPress 2.8.3.1 and Polylang Pro 2.7 installed.
All the forums, topics, replies, everything are correctly translated, except the user profile.
I even attempted to manually register the slug but didn’t work.
The code I used to try to register the slug was:
/* Translate Users profile slug with Polylang */
add_action( 'after_setup_theme','bbp_polylang_integration' );
function bbp_polylang_integration() {
if ( function_exists( 'pll_register_string' ) ) {
pll_register_string( 'slug_users', '_bbp_user_slug', 'URL slugs' );
}
}
I tried with _bbp_user_slug and with users as well.
found and fixed.
I’ve put the fix in my style pack plugin version 4.5.0
bbp style pack
once activated go to
dashboard>settings>bbp style pack>bug fixes
or put this in your child theme’s function file – or use
Code Snippets
add_filter ('bbp_get_topic_merge_link', 'rew_get_topic_merge_link' , 10 , 3) ;
add_filter ('bbp_is_topic_merge' , 'rew_is_topic_merge' ) ;
function rew_get_topic_merge_link( $args = array() ) {
// Parse arguments against default values
$r = bbp_parse_args( $args, array(
'id' => 0,
'link_before' => '',
'link_after' => '',
'merge_text' => esc_html__( 'Merge', 'bbpress' ),
), 'get_topic_merge_link' );
// Get topic
$topic = bbp_get_topic( $r['id'] );
// Bail if no topic or current user cannot moderate
if ( empty( $topic ) || ! current_user_can( 'moderate', $topic->ID ) ) {
return;
}
$uri = add_query_arg( array( 'action' => 'bbp-merge-topic' ), bbp_get_topic_edit_url( $topic->ID ) );
$retval = $r['link_before'] . '<a href="' . esc_url( $uri ) . '" class="bbp-topic-merge-link">' . $r['merge_text'] . '</a>' . $r['link_after'];
// Filter & return
return apply_filters( 'rew_get_topic_merge_link', $retval, $r, $args );
}
function rew_is_topic_merge() {
// Assume false
$retval = false;
// Check topic edit and GET params
if ( bbp_is_topic_edit() && ! empty( $_GET['action'] ) && ( 'bbp-merge-topic' === $_GET['action'] ) ) {
return true;
}
// Filter & return
return (bool) apply_filters( 'rew_is_topic_merge', $retval );
}
Hi again, Robin,
I have found the conflict. It is:
“Another WordPress Classifieds Plugin (AWPCP)”
Not for me to criticise or condemn anything – I’m just naming it here in case anybody comes up against the same problem.
Best regards,
John
Hi guys,
Quite simply the “favorites” button does not show beside the subscribe button on any topic or forum on my site.
I have deactivated – reactivated bbPress. Tried the Twenty Seventeen Theme. Nothing has worked.
I have the latest WordPress version 5.4
I have bbPress version 2.6.4
My site is https://fashioncollaborate.com but you wont be able to see anything unless you are a subscribed member. I can provide admin credentials privately?
Hi Robin,
Thanks for the quick response. Yes I have a wordpress page called forums with the shortcode [bbp-forum-index] in the body.
From there, in my menus, the Forums link is linked to https://ticsandthoughts.com/forums/
Hi Robin,
Those that relate to BBpress are:
Advanced noCaptcha & invisible Captcha
bbP private groups
bbp style pack
bbPress Login Register Links On Forum Topic Pages
bbPress Messages
bbPress Unread Posts v2
LoginPress – Customizing the WordPress Login
WP User Avatar
I’m sure your next suggestion will be to disable them all, which I am happy to do if necessary, The forum is not publicly visible yet. I was just hopeful the OP may have already found the problem 🙂
Let me know if that’s the direction you would like me to go.
Best regards,
John
Put this in your child theme’s function file – or use
Code Snippets
function rew_get_topic_split_link( $retval, $r, $args ) {
// Parse arguments against default values
$r = bbp_parse_args( $args, array(
'id' => 0,
'link_before' => '',
'link_after' => '',
'split_text' => esc_html__( 'Split', 'bbpress' ),
'split_title' => esc_attr__( 'Split the topic from this reply', 'bbpress' )
), 'get_topic_split_link' );
// Get IDs
$reply_id = bbp_get_reply_id( $r['id'] );
$topic_id = bbp_get_reply_topic_id( $reply_id );
// Bail if no reply/topic ID, or user cannot moderate
if ( empty( $reply_id ) || empty( $topic_id ) || ! current_user_can( 'moderate', $topic_id ) ) {
return;
}
$uri = add_query_arg( array(
'action' => 'bbp-split-topic',
'reply_id' => $reply_id
), bbp_get_topic_edit_url( $topic_id ) );
$retval = $r['link_before'] . '<a href="' . esc_url( $uri ) . '" title="' . $r['split_title'] . '" class="bbp-topic-split-link">' . $r['split_text'] . '</a>' . $r['link_after'];
// Filter & return
return apply_filters( 'rew_get_topic_split_link', $retval, $r, $args );
}
add_filter ('bbp_get_topic_split_link', 'rew_get_topic_split_link' , 10 , 3) ;
function rew_is_topic_split() {
// Assume false
$retval = false;
// Check topic edit and GET params
if ( bbp_is_topic_edit() && ! empty( $_GET['action'] ) && ( 'bbp-split-topic' === $_GET['action'] ) ) {
$retval = true;
}
// Filter & return
return (bool) apply_filters( 'rew_is_topic_split', $retval );
}
add_filter ('bbp_is_topic_split' , 'rew_is_topic_split' ) ;
and come back and confirm that it works
do you have a wordpress page called forums?
I’d suggest you download this plugin – it should let you change the settings for forums
bbp style pack
Hello,
I am using the latest version of wordpress (5.4) and the most recent version of bbPress (2.6.4)
Website: ticsandthoughts.com
I am using the Responsive theme.
I am extremely new to all of this, so apologies if this is a dumb question. I recently set up a forum through bbPress and am wanting to remove the top text on the page “Archive: Forums”, as well as the text description “bbPress forums”.
Here’s a link to how it looks right now: https://ticsandthoughts.com/forums/
Thanks so much in advance!
Alex
@ajtruckle Most of the code I did is probably redundant as I think digital arms moderation tools does it
But the code for Clive immediately above notifies the user that their reply is in moderation.
so
1. create a WordPress page with a permalink of ‘/moderation/’
2. put whatever message you want in there eg ‘your reply is being held in moderation’
3. if you want you can also put the shortcode [mod-return] in the page as well which will post a return link to the topic
4. add the code above to functions file or code snippets
5. when a user (logged in or anonymous if you allow that) posts a reply that goes into moderation, they are directed to your moderation page, so get certainty that their post is being held in moderation, with a link back to their topic if you’ve added the shortcode
Put this in your child theme’s function file – or use
Code Snippets
add_action ('bbp_template_before_replies_loop' ,'rew_show_forum' ) ;
function rew_show_forum () {
$forum_id = bbp_get_topic_forum_id() ;
$title = bbp_get_forum_title($forum_id) ;
echo '<div class="rew-in-forum">In forum : '.$title.'</div>' ;
}
participants can create topics in all public and private forums.
Moderators have the ability to perform actins such as closing topics, deleting topics etc.
If you want some users to ony be able to create topics in ceraton forums, then you will need
Private groups
bbPress version 2.6 and wordpress 5.4
just had a thought
create a WordPress page with a permalink of ‘/moderation’ and in that put some text say
‘your post is being held pending moderation’
tehn put this in your child theme’s function file – or use
Code Snippets
//add message if reply held in moderation
add_filter ('bbp_new_reply_redirect_to' , 'rew_pending_check', 10 , 3) ;
function rew_pending_check ($reply_url, $redirect_to, $reply_id)
$status = get_post_status ($reply_id) ;
if ($status == 'pending' ) {
$reply_url = '/moderation/' ;
}
return $reply_url ;
}
not perfect by any means, but better than the nothing they now get
If you could test for me, I’ll see if I can improve how it works
I’ve had a play this evening with this issue.
This code is very rough and ready, but if it works as I think it does, then it shows pending REPLIES to the user who posted them and moderators and keymasters. NOT topics !!
so when a user posts a reply and it goes into moderation, they see there reply in the topic with a warning.
If you want to try it, put this in your child theme’s function file – or use
Code Snippets
add_filter ('bbp_has_replies' , 'rew_has_replies' ) ;
function rew_has_replies( $args = array() ) {
/** Defaults **************************************************************/
// Other defaults
$default_reply_search = bbp_sanitize_search_request( 'rs' );
$default_post_parent = ( bbp_is_single_topic() ) ? bbp_get_topic_id() : 'any';
$default_post_type = ( bbp_is_single_topic() && bbp_show_lead_topic() ) ? bbp_get_reply_post_type() : array( bbp_get_topic_post_type(), bbp_get_reply_post_type() );
$default_thread_replies = (bool) ( bbp_is_single_topic() && bbp_thread_replies() );
// Default query args
$default = array(
'post_type' => $default_post_type, // Only replies
'post_parent' => $default_post_parent, // Of this topic
'posts_per_page' => bbp_get_replies_per_page(), // This many
'paged' => bbp_get_paged(), // On this page
'orderby' => 'date', // Sorted by date
'order' => 'ASC', // Oldest to newest
'hierarchical' => $default_thread_replies, // Hierarchical replies
'ignore_sticky_posts' => true, // Stickies not supported
'update_post_term_cache' => false, // No terms to cache
// Conditionally prime the cache for all related posts
'update_post_family_cache' => true
);
// Only add 's' arg if searching for replies
// See https://bbpress.trac.wordpress.org/ticket/2607
if ( ! empty( $default_reply_search ) ) {
$default['s'] = $default_reply_search;
}
// What are the default allowed statuses (based on user caps)
if ( bbp_get_view_all( 'edit_others_replies' ) ) {
// Default view=all statuses
$post_statuses = array_keys( bbp_get_topic_statuses() );
// Add support for private status
if ( current_user_can( 'read_private_replies' ) ) {
$post_statuses[] = bbp_get_private_status_id();
}
// Join post statuses together
$default['post_status'] = $post_statuses;
// Lean on the 'perm' query var value of 'readable' to provide statuses
} else {
//get public and pending (not sure if we need this or just to remove the perm status that was here ?
$post_statuses = array_keys( rew_get_topic_statuses() );
}
/** Setup *****************************************************************/
// Parse arguments against default values
$r = bbp_parse_args( $args, $default, 'has_replies' );
// Set posts_per_page value if replies are threaded
$replies_per_page = (int) $r['posts_per_page'];
if ( true === $r['hierarchical'] ) {
$r['posts_per_page'] = -1;
}
// Get bbPress
$bbp = bbpress();
//now filter the query before execution
// Add filter if participant
$user_id = get_current_user_id() ;
$role = bbp_get_user_role( $user_id );
if ($role == 'bbp_participant' || $role == 'bbp_moderator' || bbp_is_user_keymaster($user_id)) {
add_filter( 'posts_where', 'rew_where' );
}
// Call the query
$bbp->reply_query = new WP_Query( $r );
// Remove filter
if ($role == 'bbp_participant' || $role == 'bbp_moderator' || bbp_is_user_keymaster($user_id)) {
remove_filter( 'posts_where', 'rew_where' );
}
// Maybe prime the post author caches
if ( ! empty( $r['update_post_family_cache'] ) ) {
bbp_update_post_family_caches( $bbp->reply_query->posts );
}
// Add pagination values to query object
$bbp->reply_query->posts_per_page = (int) $replies_per_page;
$bbp->reply_query->paged = (int) $r['paged'];
// Never home, regardless of what parse_query says
$bbp->reply_query->is_home = false;
// Reset is_single if single topic
if ( bbp_is_single_topic() ) {
$bbp->reply_query->is_single = true;
}
// Only add reply to if query returned results
if ( ! empty( $bbp->reply_query->found_posts ) ) {
// Get reply to for each reply
foreach ( $bbp->reply_query->posts as &$post ) {
// Check for reply post type
if ( bbp_get_reply_post_type() === $post->post_type ) {
$reply_to = bbp_get_reply_to( $post->ID );
// Make sure it's a reply to a reply
if ( empty( $reply_to ) || ( bbp_get_reply_topic_id( $post->ID ) === $reply_to ) ) {
$reply_to = 0;
}
// Add reply_to to the post object so we can walk it later
$post->reply_to = $reply_to;
}
}
}
// Only add pagination if query returned results
if ( ! empty( $bbp->reply_query->found_posts ) && ! empty( $bbp->reply_query->posts_per_page ) ) {
// Figure out total pages
if ( true === $r['hierarchical'] ) {
$walker = new BBP_Walker_Reply();
$total_pages = ceil( $walker->get_number_of_root_elements( $bbp->reply_query->posts ) / $bbp->reply_query->posts_per_page );
} else {
// Total for pagination boundaries
$total_pages = ( $bbp->reply_query->posts_per_page === $bbp->reply_query->found_posts )
? 1
: ceil( $bbp->reply_query->found_posts / $bbp->reply_query->posts_per_page );
// Pagination settings with filter
$bbp_replies_pagination = apply_filters( 'bbp_replies_pagination', array(
'base' => bbp_get_replies_pagination_base( bbp_get_topic_id() ),
'total' => $total_pages,
'current' => $bbp->reply_query->paged
) );
// Add pagination to query object
$bbp->reply_query->pagination_links = bbp_paginate_links( $bbp_replies_pagination );
}
}
// Filter & return
return apply_filters( 'rew_has_replies', $bbp->reply_query->have_posts(), $bbp->reply_query );
}
function rew_get_topic_statuses( $topic_id = 0 ) {
// Filter & return
return (array) apply_filters( 'bbp_get_topic_statuses', array(
bbp_get_public_status_id() => _x( 'Open', 'Open the topic', 'bbpress' ),
), $topic_id );
}
function rew_where( $where ) {
$user_id = get_current_user_id() ;
global $wpdb;
$posts = $wpdb->posts ;
return $where . " OR (
".$posts.".post_author = ".$user_id."
AND ".$posts.".post_status = 'pending'
) ";
}
add_action ('bbp_theme_before_reply_content' , 'rew_pending' );
function rew_pending () {
$id = bbp_get_reply_id() ;
$status = get_post_status ($id) ;
if ($status == 'pending' ) {
echo '<i><b>This reply is pending review and can only be seen by you and the administrators</b></i>' ;
}
}
Hi guys,
I’m also trying to remove @ mentions from Forums and Activity in Groups.
I have successfully removed the @Username from beneath the profile names of buddypress users.
I have both of the following in PHP Functions.
add_filter( ‘bp_activity_do_mentions’, ‘__return_false’ );
and
remove_filter( ‘bbp_make_clickable’, ‘bbp_make_mentions_clickable’, 8 );
Now what happens is, when I type “@” followed by a letter for example “J” for “Jack” it still brings up “Jack” user names but it doesnt actually tag them or turn into a link after selecting one. How do I turn off @mentions entirely so it doesnt bring up user names?
I hope that makes sense.
I am using the latest WordPress 5.4 and the latest Buddypress 5.1.2 and bbPress 2.6.4
Any help would be amazballs:)
bbpress will do fine, buddypress is not forum software, but the two work together if you want.
add this to get the styling of bbpress to match your forum
bbp style pack