I’m new to coding and do not know much about these things. I would like the avatar or gravatar to show on the right corner of my header.
First of all, do I need to put this code <<get_avatar( wp_get_current_user(), 32 );>> in my header.php file?
And do I need to write some CSS code to style it?
This appears to be a paid theme, so i have no access to it.
I suggest you try
Step by step guide to setting up a bbPress forum – Part 1
item 8
I can’t say for sure as I’ve not used that plugin.
But bbpress and worpdress have lots of capabilities to put code where you wish, so
1. exactly where do you want it to go?
2. Do you know how to do a button linking to the page?
depends on what you mean by ‘solution’ 🙂
get_avatar( wp_get_current_user(), 32 );
This still works as far as I know
bbPress Notifications
it it is not perfect, the code wold get you most of the way to what you want
There are tens of thousands of themes, and tens of thousands of plugins. It would be impossible to test every combination. I can’t say that bbpress has been tested with Avada !!
As long as both theme and plugin adhere to basic standards, then it is likely that they will work together.
The plugin is a subset of code from within buddypress, so if you have buddypress you don’t need the plugin.
Anonymous User 18731058Inactive
Hi Robin,
Unfortunately, the code you’ve provided isn’t working for me. However, bbp_get_user_topic_count_raw and bbp_get_user_reply_count_raw work fine, so I’ve replaced the functions using JavaScript.
<?php
$topicCount = bbp_get_user_topic_count_raw(wp_get_current_user()->ID);
$replyCount = bbp_get_user_reply_count_raw(wp_get_current_user()->ID);
?>
<script>
var topicCount = document.querySelector('.bbp-user-topic-count');
var replyCount = document.querySelector('.bbp-user-reply-count');
if(topicCount){topicCount.innerHTML = 'Topics Created: ' + '<?php echo $topicCount ?>'}
if(replyCount){replyCount.innerHTML = 'Replies Created: ' + '<?php echo $replyCount ?>'}
</script>
yes, this has been happening for a while (it happens on this site!) , and I’ve not got round to looking at why until you posted (I am a bbpress user who helps out here, not one of the bbpress authors).
I’ve just dug into the code and created a trac fix ticket for it
https://bbpress.trac.wordpress.org/ticket/3429#ticket
in the meantime, this code fixes the problem
add_filter ('bbp_bump_user_topic_count' , 'rew_new_topic_count', 10 , 4) ;
function rew_new_topic_count ($user_topic_count, $user_id, $difference, $count) {
//check if count is 2 and should be 1 by seeing if user topic count is empty!!
if ($user_topic_count==2 && empty (bbp_get_user_topic_count( $user_id, true )) )$user_topic_count = 1 ;
return $user_topic_count ;
}
add_filter ('bbp_bump_user_reply_count' , 'rew_new_reply_count', 10 , 4) ;
function rew_new_reply_count ($user_reply_count, $user_id, $difference, $count) {
//check if count is 2 and should be 1 by seeing if user topic count is empty!!
if ($user_reply_count==2 && empty (bbp_get_user_reply_count( $user_id, true )) )$user_reply_count = 1 ;
return $user_reply_count ;
}
Put this in your child theme’s function file –
ie wp-content/themes/%your-theme-name%/functions.php
where %your-theme-name% is the name of your theme
or use
Code Snippets
I can’t find the solution for custom redirect when forgot password form is sent (the form with only one field, your username or email, and “get new password” button, which triggers the email with the reset password link in it, which then opens the reset password form).
The reset password form which has two fields, “new password” and “repeat new password” (and buton save password). I solved the reset password redirect with code snippet
function wpse_lost_password_redirect() {
wp_redirect( 'myurl' );
exit;
}
add_action('password_reset', 'wpse_lost_password_redirect');
But it doesn’t work for the lost password form. Is there also a redirect function for forgot password, which I could use?
Have WP 5.7.2., bbpress 2.6.6., also use themeMyLogin plugin.
Thanks in advance!
Changed the theme, but the issue was still there.
I now found this solution, it worked for me:
add_action('wp_logout','ps_redirect_after_logout');
function ps_redirect_after_logout(){
wp_redirect( 'your url here' );
exit();
}
This code is from version 1 of bbpress, so probably no longer works.
Please, how did you use the code <<echo bb_get_avatar( bb_get_current_user_info( ‘id’ ), 32 )>> to display the avatar or gravatar of the logged-in user in the header. Any explanation on what to do?
I saw your one before the edit.
I put this in my form-reply
<input name="toggle-check" id="toggle-check" type="checkbox" value="value">hello
and this in my theme’s functions file
add_action( 'bbp_new_reply_post_extras', 'rew_reply_checkbox' );
add_action( 'bbp_edit_reply_post_extras', 'rew_reply_checkbox' );
function rew_reply_checkbox ($reply_id) {
//and probably set the value to a $_POST parameter you set in the form
if (! empty($_POST['toggle-check'] ) ) {
$myvalue = $_POST['toggle-check'] ;
}
else $myvalue='empty' ;
update_post_meta ($reply_id , 'toggle-check', $myvalue) ;
and that works fine
Sorry, I should have been more clear. I did post a reply but it got deleted while I was trying to get the code in the correct format to make it clearer to read!
The form that I am adding to is within the ‘form-reply.php’ file and I have the checkbox working fine. The struggle I have is that even when the checkbox is clicked the $_POST['my_parameter'] is always empty and so the wrong value is being added as metadata. I have looked up some solutions to this, and the majority of them are suggesting it is something to do with the “action” part of the form, so I am wondering if this is the case or possibly something else?
If you would like me to post the code I will try again!
ok, I’m very confused.
if you are adding this code to a form, then it is already in a form, so you don’t need the <form…
you’d just need to code I put above ie
echo '<p class="whatever">
<input name="my_parameter" id="my_parameter" type="checkbox" value="whatever_value_you_want" checked="checked"> <label for="whatever">Tick this box to do whatever</label>
</p>' ;
maybe you could post the entire form you are trying to change, and indeed say where/what it is?
I have been implementing this feature to my site today and I have managed to add the metadata to the database however, I can’t seem to be able to receive the POST variable. I have added this checkbox within the form: <form id="new-post" name="new-post" method="post" action="<?php the_permalink(); ?>">. This is the form used to get the user’s reply but as you can see the ‘action’ is set to <?php the_permalink(); ?>. Would this still allow me to access the variable within my functions.php file or will I have to change the action / create another form and submit button?
Many thanks
What I do in this case is use client side JavaScript code to inject a new HTML element at the position you want it, with your custom code.
I put a Custom HTML widget on the page which has all the required JS & CSS code.
The advantage of this approach is that you don’t need to mess with the PHP files of your WordPress or bbPress setup, so when you do an upgrade in the future, you don’t have to worry about your changes being overwritten, or your site to break because of your changes.
I use the code below to place a Reply button on top of the page. When it’s clicked, it will scroll down to the new post form at the bottom of the page (the most recent post is on top).
<script type="text/javascript">
// Add the reply shortcut button at the top.
let btn = document.createElement("a");
btn.href='javascript:document.getElementsByClassName("bbp-footer")[0].scrollIntoView()'
btn.innerText='Reply'
btn.className='nj-replybtn'
let n = document.getElementsByClassName('bbp-replies')[0];
if (n !== null) {
n.parentNode.insertBefore(btn, n);
}
</script>
<style>
.nj-replybtn {
color: white;
background-color: #007acc;
padding: 5px;
margin: 2px;
}
</style>
WP version 5.7.2
bbPress Version: 2.6.6
Astra Theme Version: 3.4.2
Website: https://authorready.com/forum
I did a new install of bbPress on my existing site with the Astra LearnDash theme with no child theme. I followed the instructions on the step-by-step page (https://codex.bbpress.org/step-by-step-guide-to-setting-up-a-bbpress-forum/) to set up the forum and am using the shortcode [bbp-forum-index] to display the forum on my page.
When I navigate to a topic from the forum (i.e., Forum > Announcements > Test Topic Creation), it shows my 404 page instead of the topic. The same thing happens if I go into the topic from the admin panel and try to preview the page. I have tried to following from other topic support tickets with no success:
1. Dashboard > Settings > Permalinks and clicked save. No change.
2. Installed Health Check & Troubleshooting. Health Check was good.
3. Entered troubleshooting mode and deactivated all but the bbPress plugin with the Twenty Twenty theme. Still no topics, but redirected to the home page instead of the 404.
4. Installed bbPress WP Tweaks and tried all of the .php page settings with no change.
Is there something I’m missing? I’m at a loss of what else to try or why it may not be working.
unanswered can be done by
bbp style pack
once activated
create a wordpress page and use the [bsp-display-topic-index …..] shortcode
see
dashboard>settings>bbp style pack>Shortcodes for how to use it – but create one with noreply
then you just create a link to that page
so maybe have a function that says
add_action( 'bbp_theme_after_reply_form_content', 'rew_add_checkbox' );
function rew_add_checkbox () {
echo '<p class="whatever">
<input name="my_parameter" id="my_parameter" type="checkbox" value="whatever_value_you_want" checked="checked"> <label for="whatever">Tick this box to do whatever</label>
</p>' ;
}
This will put the checkbox after the content
without knowing what you are trying to achieve hard to say.
Typically you’d use JS for stuff you want to change on the fly without reloading the screen.
For an input form you would more normally use html and php
But I do fully appreciate that we all play to our strengths and I would tend to use PHP where JS would be better as I know it well, and I suspect you are the reverse 🙂
So you would add a checkbox, you can do this by amending the reply template, or better using one of the do_action hooks in the template. You can also do this using JS
In essence you are adding this to the form, you can use whatever names you want
<p class="whatever">
<input name="my_parameter" id="my_parameter" type="checkbox" value="whatever_value_you_want" checked="checked"> <label for="whatever">Tick this box to do whatever</label>
</p>
This will create a box which when submitted will set
$_POST[‘my_parameter’] to “whatever_value_you_want” if ticked or be blank if not
you can use the code above to set your meta data
I am having some difficulty figuring out what this does, apologies, my PHP knowledge is very minimal. What exactly is the
if (! empty($_POST[‘my_parameter’] ) ) {
$myvalue = $_POST[‘my_parameter’] ;
}
else $myvalue='empty';
part doing? Specifically, what would ‘my_parameter’ be? Would this be the name or value of what I would like the meta to be?
I have looked up what $_POST does, and the variables that I am using are declared using JavaScript. Now I am wondering if I will have to change my approach to checking the user input for the checkbox (something which isn’t related to bbpress).
Many thanks
how are they loggong on wp-logon, or widget or shortcode?
you’ll want to use update_post_meta – this creates the entry if not there and amends it if it is.
in the new reply handler, there is a hook which contains the reply_id which fires after the reply is created.
so something like
add_action( 'bbp_new_reply_post_extras', 'rew_reply_checkbox' );
add_action( 'bbp_edit_reply_post_extras', 'rew_reply_checkbox' );
function rew_reply_checkbox ($reply_id) {
//and probably set the value to a $_POST parameter you set in the form
if (! empty($_POST[‘my_parameter’] ) ) {
$myvalue = $_POST[‘my_parameter’] ;
}
else $myvalue='empty' ;
update_post_meta ($reply_id , 'my_parameter', $myvalue) ;
}
I would like to add metadata to replies depending on a checkbox that the user selects. The function I think I will need to use is add_post_meta but one of the parameters is post_id. What would I put in this as the reply would not be created yet and so I believe it won’t have an associated ID yet?
I suppose it is the same concept as replying to a topic as the text the user writes will go into the post’s (with a postID) ‘main’ data. So basically I would like to do the same thing but adding to the metadata. Hopefully, that makes sense and someone knows the solution.
Thanks!