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
@robin-w
Thank you for the feedback.
It’s good that the issue is already addressed.
But the question is not about dequeuing, but about enqueuing.
Why not the bbPress core, enqueue the stylesheet only when is_bbpress() is true?
Hi everybody,
I made a custom display of topics for a specific forum. Like this:
<?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;?>
But it’s seems that counter isn’t correct… Did I need to add something to count correctly the voice_count and post_count ?
I already try the repair tools 🙁
Thanks a lot 😉
Hi,
Based on my content-archive-forum.php.
I would like to creat a custom WP_Query like:
<?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();
the_title();
endwhile;
?>
to list topic of forum with ID=410 and also message counter and freshness if it’s possible .. But I didn’t find the way to do this… Do you have a tips or exemple ? This will be very helpfull because It can solve many issue I have ahah
sure it’s in
\bbpress 2.5.13\includes\common\shortcodes.php
Sadly no it’s on my local wamp. But I can explain you of course (my bad it’s blur !).
I just tried to analyse what’s happend to explain to you. And I realize that
<?php echo do_shortcode( ‘[bbp-single-forum id=123]‘ ); ?> did the same template content-archive-forum.php but with the [bbp-single-forum id=123] at the end.
It seems like there is something wrong with a loop or something. Do you know where I can learn what [bbp-single-forum id=123] did exactly ?
But when I try to use <?php echo do_shortcode( ‘[bbp-single-forum id=123]‘ ); ?> it’s a mess.
without knowing what ‘it’s a mess’ means, not sure I can help – do you have a link to the site?
Hi everybody,
I’m actually developing a Forum for a WordPress site.
My Home is composed by 3 sections. Each section is a Forum who list child forum (I’m ok with that it’s already ok). But the last section need to be a Forum who list topics of this Forum.
But when I try to use <?php echo do_shortcode( ‘[bbp-single-forum id=123]‘ ); ?> it’s a mess.
my content-archive-forum.php looks like:
<div id="bbpress-forums">
<div class="bbpress-header">
<div class="bbpress-header__image">
<img src="image.png" alt="Illustration sabre - Forum">
</div>
<div class="bbpress-header__headline"><h1>Welcome</h1></div>
<div class="bbpress-header__lead-paragraphe">
<p>
Lorem ipsum dolor sit amet, consectetur adipiscing elit. <span>Donec vel auctor diam.</span>
Nulla odio diam, maximus ut libero ut, <span>pharetra ullamcorper</span> orci. Sed magna nisl,
pellentesque at ligula nec, condimentum viverra. Petit texte d’intro sur le forum (juste une idée)?
</p>
</div>
</div>
<?php bbp_get_template_part('user', 'bar'); ?>
<?php bbp_breadcrumb(); ?>
<?php bbp_forum_subscription_link(); ?>
<?php do_action( 'bbp_template_before_forums_index' ); ?>
<?php if ( bbp_has_forums() ) : ?>
<?php bbp_get_template_part( 'loop','forums'); ?>
<?php else : ?>
<?php bbp_get_template_part( 'feedback', 'no-forums' ); ?>
<?php endif; ?>
<?php do_action( 'bbp_template_after_forums_index' ); ?>
</div>
How I can just add a section who display juste the list of the topic for a specific forum ?
Best regards ! 🙂
The problem is that themes do not use the wordpress template standards – in many cases for good reasons, but bbpress cannot understand every theme.
I presume you have been here
Step by step guide to setting up a bbPress forum – Part 1