so from forums loop remove
<li class="bbp-forum-freshness"><?php _e( 'Freshness', 'bbpress' ); ?></li>
and from loop single forum remove
<li class="bbp-forum-freshness">
<?php do_action( 'bbp_theme_before_forum_freshness_link' ); ?>
<?php bbp_forum_freshness_link(); ?>
<?php do_action( 'bbp_theme_after_forum_freshness_link' ); ?>
<p class="bbp-topic-meta">
<?php do_action( 'bbp_theme_before_topic_author' ); ?>
<span class="bbp-topic-freshness-author"><?php bbp_author_link( array( 'post_id' => bbp_get_forum_last_active_id(), 'size' => 14 ) ); ?></span>
<?php do_action( 'bbp_theme_after_topic_author' ); ?>
</p>
</li>
I’ll let you work out the topics
try
.archive:not(.page-one-column):not(.has-sidebar) #primary article {
float : none !important;
Width : 100% !important ;
}
I pasted in the code you sent as is, and it did not center the page :(. Any other thoughts on how I could approach this issue?
Wordpress version:5.1.1
bbPress version: 2.5.14
Question #1:
Here’s the page I’m looking at: http://www.toledonaturalist.org/forums/
I cannot figure out how to center the forum information on the page. I created this “forums” page and simply pasted in this shortcode: [bbp-forum-index]
At first I thought there was an invisible sidebar. Nope, it does not appear that there are any active sidebars. Perhaps I could fiddle around with the template? Nope, doesn’t seem to impact anything. I could try centering the shortcode with CSS? Nope, this didn’t work either, although I don’t know much about CSS, so I easily could have just typed it in wrong.
The weird thing is that all of the children pages are centered. It’s just this page that is having issues.
Question #2)
Here is the page I am looking at:
http://www.toledonaturalist.org/login/?redirect_to=http%3A%2F%2Fwww.toledonaturalist.org%2F
This is so bizarre! The login works great, but I don’t even have a login page on my list of “pages.” I want to change the header image and the redirection after login, but I have no idea where bbpress is getting this page. Without knowing where it is, I cannot reset the redirection after login (I want it to go to the very first link in this post) or change the header image.
Let me know what you think!
Hi Robin! Thanks for the reply.
This is what I am using to reorder replies:
// Reverse forum replies order from newer to older
function custom_bbp_has_replies() {
$args['order'] = 'DESC'; // ‘ASC’ (Ascending, Default), 'DESC' (Descending)
return $args;
}
add_filter('bbp_before_has_replies_parse_args', 'custom_bbp_has_replies' );
function custom_bbp_show_lead_topic( $show_lead ) {
$show_lead[] = 'true';
return $show_lead;
}
add_filter('bbp_show_lead_topic', 'custom_bbp_show_lead_topic' );
Hey, I was using BBpress before but now I decided to stop using it because I was getting a lot of spam posts and users and I don’t have the time to keep on tracking the forums.
However, after deleting the bbpress plugin, I see an inflated wp_posts and wp_postmeta databases each one around 700mb and I found out here that bbpress store their data in wp_posts and wp_postmeta
Stored Database Data
So I am wondering, how can I delete the bbpress related databases from the wp_posts and wp_postmeta without affecting my other posts or pages I have created?
I have 3 more websites with even more posts created by me, but without bbpress and the wp_posts and wp_postsmeta is like 20mb or so. That’s why I am sure that the inflated databse are because of bbpress.
So anyone can help me figure out how to delete the bbpress related databases?
I’m having a weird “bug” or just unwanted result from something that usually works perfectly.
(0,0) removed via usual method:
function remove_counts() {
$args['show_topic_count'] = false;
$args['show_reply_count'] = false;
$args['count_sep'] = '';
return $args;
}
add_filter('bbp_before_list_forums_parse_args', 'remove_counts' );
Unfortunately this time it is leaving me with the commas still intact despite the separator being target to be removed (I’m not comfortable with coding like most of you guys but years in WordPress you have to pick up a few things).
Probably easier if you take a look at this point it’s : MCR Biker Community Forum
I am using a plugin called Youzer to style the forum if that has any effect. Switching themes doesn’t fix.
Any suggestions?
Hi everybody,
I would like to creat a home for my forum who loop some forum in blocs. And in this bloc I would like to list sub forum with topic count, post count and freshness.
I make a mockup to be more precise ^^ You can the here: https://ibb.co/zFD60d1
I already try to make these loop but I can’t retrieve the freshness & counts for each sub forum.
And also I need to design differently each row but bbpress retrieve data in columns…
Do you already make something like this ?
I found this function:
//This function adds descriptions to the sub forums
function custom_list_forums( $args = '' ) {
// Define used variables
$output = $sub_forums = $topic_count = $reply_count = $counts = '';
$i = 0;
$count = array();
// Parse arguments against default values
$r = bbp_parse_args( $args, array(
'before' => '<ul class="bbp-forums-list">',
'after' => '</ul>',
'link_before' => '<li class="bbp-forum">',
'link_after' => '</li>',
'count_before' => ' <span class="counts">[ ',
'count_after' => ' réponse(s) ]</span>',
'count_sep' => ' sujet(s), ',
'separator' => ', ',
'forum_id' => '',
'show_topic_count' => true,
'show_reply_count' => true,
), 'list_forums' );
// Loop through forums and create a list
$sub_forums = bbp_forum_get_subforums( $r['forum_id'] );
if ( !empty( $sub_forums ) ) {
// Total count (for separator)
$total_subs = count( $sub_forums );
foreach ( $sub_forums as $sub_forum ) {
$i++; // Separator count
// Get forum details
$count = array();
$show_sep = $total_subs > $i ? $r['separator'] : '';
$permalink = bbp_get_forum_permalink( $sub_forum->ID );
$title = bbp_get_forum_title( $sub_forum->ID );
$content = bbp_get_forum_content($sub_forum->ID) ;
// Show topic count
if ( !empty( $r['show_topic_count'] ) && !bbp_is_forum_category( $sub_forum->ID ) ) {
$count['topic'] = bbp_get_forum_topic_count( $sub_forum->ID );
}
// Show reply count
$count['reply'] = bbp_get_forum_reply_count( $sub_forum->ID );
// Counts to show
if ( !empty( $count ) ) {
$counts = $r['count_before'] . implode( $r['count_sep'], $count ) . $r['count_after'];
}
// Build this sub forums link
$output .= $r['before'].$r['link_before'] . '<a href="' . esc_url( $permalink ) . '" class="bbp-forum-link">' . $title . $counts . '</a>' . $show_sep . $r['link_after'].'<div class="bbp-forum-content">'.$content.'</div>'.$r['after'];
}
// Output the list
return $output ;
}
}
add_filter('bbp_list_forums', 'custom_list_forums' );
I got the description of subforum, it’s a good start..
Hi! when we move topic to other forum the subscribed user forum don’t receive the notification.
Because the action only is performed on new topics
add_action( 'bbp_new_topic', 'bbp_notify_forum_subscribers', 11, 4 );
We created on function bbp_move_topic_handler
$topic_author = bbp_get_topic_author_id( $topic_id );
$anonymous_data = 0;
do_action( 'bbp_move_topic', $topic_id, $new_forum_id, $anonymous_data, $topic_author );
and also added
add_action( 'bbp_move_topic', 'bbp_notify_forum_subscribers', 11, 4 );
But we think it should be part of core
Best regards
oops – I mean the code in my child theme functions. Just so it’s clear. I’m using a child theme and have added the code to the child theme functions.
Hi – The solution offered by robkk creates a white screen (o’ death) on the front end and then this error in the debug_log:
[18-Mar-2019 17:13:21 UTC] PHP Parse error: syntax error, unexpected '<', expecting end of file in .../wp-content/themes/MyStupidTheme/functions.php on line 63
Line 63 in my child functions file is the first line of code:
<?php if ( !bbp_is_single_forum() ) : ?>
I used php code checker to see whether or not the code was still valid, and it checked out ok.
I even cut and pasted the code from this page to Text Wrangler, to strip it of any errant styling or whatnot before I pasted it into my child theme. Still get the same error and white screen.
What else might I try?
Thanks much for any help!
Thanks. I have done that. I guess what I am looking for is some bbPress specific code that I can add to the style sheet in the child theme. There are a number of examples that come up in searches but none have worked in this theme. This particular theme allows for an override of the side bar setting on a page by page basis. There must be some bbPress specific code that could be placed in the child theme style sheet to extend that override to bbPress forum pages.
ok, for the participants trashing topics, install
bbp style pack
once activated go to
dashboard>settings>bbp style pack>Topic/Reply Display items 17,18,& 19
On the widgets, install
the ‘widget logic plugin’, and on pages you want the widget, use
is_bbpress()
in the condition
I think this task will be hard for you. Anybody around you can help you with basic knowloedge of CSS and PHP/WordPress ?
You have a explaination of many custom things you can do with bbpress here : https://codex.bbpress.org/layout-and-functionality-examples-you-can-use/
GOod luck 😉
I don’t really find a solution but as my home is not destined to change, I just created a custom “static” section. It’s answer to all my issues.
My section looks like:
<section class="bbp-forum-table__container">
<div class="bbp-forum-table__content style-<?php bbp_forum_id(); ?>">
<div class="bbp-forum-table__content--forum-list">
<div class="bbp-forum-table__header--grid">
<div>Discussions générales</div>
<div>Participants</div>
<div>Réponses</div>
<div></div>
<!-- <span>Dernier message</span> -->
</div>
<?php $args = array( 'post_type' => 'topic', 'posts_per_page' => 10, 'post_parent' => '410' );
$loop = new WP_Query( $args );
while ( $loop->have_posts() ) : $loop->the_post(); ?>
<div class="bbp-forum-table__content--grid ">
<div class="topic-title"><a href="<?php bbp_topic_permalink(); ?>"><?php the_title(); ?></a></div>
<div class="replies-counter"><?php bbp_topic_voice_count(); ?></div>
<div class="posts-counter"><?php bbp_topic_post_count(); ?></div>
<div class="user-freshness"></div>
</div>
<?php endwhile;?>
</div>
</div>
</section>
I just need to add user-freshness.
Thanks for you help of course 😉
I think this should work
add_action('after_setup_theme', 'remove_admin_bar');
function remove_admin_bar() {
$user_id = get_current_user_id() ;
$role -= bbp_get_user_display_role($user_id) ;
if (role == 'bbp_participant' {
show_admin_bar(false);
}
}
put in your functions file or use the code snippets plugin
Thank you!
I’ll have to hire someone technical to help me add the code to my website! This is way outside of typical support, so I appreciate all your help Robin!
No need to reply, take care!
try
add_action( 'bbp_template_before_forums_loop', 'rew_add_custom_menu' );
add_action( 'bbp_template_before_topics_loop', 'rew_add_custom_menu' );
function rew_add_custom_menu () {
echo '<a href= "https://bbpress.org/forums/">customs menu area</a>' ;
}
Thanks for the code. I did as you said.
I opened the incognito browser and a forum.
When wanting to comment on a reply it still opened the reply box at the bottom of the list rather than immediately under the post I wished to reply to.
Thanks for the help. Next step??
Regards
Simon Pollit
what is the issue with your code above?
untested but add this to your functions file or use code snippets plugin
add_action( 'bbp_template_before_forums_loop', 'rew_add_custom_menu' );
add_action( 'bbp_template_before_topics_loop'', 'rew_add_custom_menu' );
function rew_add_custom_menu () {
echo 'your link here' ;
}
ok, so
1. Save the attached code to your pc, as a new file called reply.js
2. Create a directory on your theme called ‘js’, and copy the renamed file reply.js to it, so that you end up with wp-content/themes/%my-theme%/js/reply.js
where %my-theme% is the name of your theme
Let me know if this works
addReply = {
moveForm : function(replyId, parentId, respondId, postId) {
var t = this, div, reply = t.I(replyId), respond = t.I(respondId), cancel = t.I('bbp-cancel-reply-to-link'), parent = t.I('bbp_reply_to'), post = t.I('bbp_topic_id');
if ( ! reply || ! respond || ! cancel || ! parent )
return;
t.respondId = respondId;
postId = postId || false;
if ( ! t.I('bbp-temp-form-div') ) {
div = document.createElement('div');
div.id = 'bbp-temp-form-div';
div.style.display = 'none';
respond.parentNode.insertBefore(div, respond);
}
reply.parentNode.insertBefore(respond, reply);
if ( post && postId )
post.value = postId;
parent.value = parentId;
cancel.style.display = '';
cancel.onclick = function() {
var t = addReply, temp = t.I('bbp-temp-form-div'), respond = t.I(t.respondId);
if ( ! temp || ! respond )
return;
t.I('bbp_reply_to').value = '0';
temp.parentNode.insertBefore(respond, temp);
temp.parentNode.removeChild(temp);
this.style.display = 'none';
this.onclick = null;
return false;
}
try { t.I('bbp_reply_content').focus(); }
catch(e) {
}
return false;
},
I : function(e) {
tinymce.execCommand('mceFocus',false,'bbp_reply_content');
}
}
Thanks but afaik this is what tells you if you are on the forums directory: bbp_is_forum_archive()
Is there a call to see if the user is on the all forums directory page?
The one that lists all the forums?
Something like bbpress_is_forums_directory()
2 things occur
1. this is the code in the template
<li class="bbp-topic-voice-count"><?php bbp_topic_voice_count(); ?></li>
<li class="bbp-topic-reply-count"><?php bbp_show_lead_topic() ? bbp_topic_reply_count() : bbp_topic_post_count(); ?></li>
2. these functions are looking for id so maybe
<?php $post_id=get_the_ID() ; ?>
<li class="bbp-topic-voice-count"><?php bbp_topic_voice_count($post_id); ?></li>
<li class="bbp-topic-reply-count"><?php bbp_show_lead_topic($post_id) ? bbp_topic_reply_count($post_id) : bbp_topic_post_count($post_id); ?></li>
untested, but you get the idea