The link you showed is for version 1 of bbpress, which is no longer relevant.
changing the header is theme specific, you’d be looking at finding the header.php file in the theme, creating a child theme and then yu would use something like
is_bbpress()
in thee code to check if tis was a bbpress page
eg
if (is_bbpress()) {
?>
<div id="pg-70016-0" class="panel-grid panel-has-style" data-style="{"class":"banner row","background_image_attachment":false,"background_display":"tile","row_stretch":"full-stretched-padded","cell_alignment":"flex-start"}" data-ratio="1" data-ratio-direction="right">
<div class="banner row siteorigin-panels-stretch panel-row-style panel-row-style-for-70016-0" data-stretch-type="full-stretched-padded">
<div id="pgc-70016-0-0" class="panel-grid-cell" data-weight="1">
<div id="panel-70016-0-0-0" class="so-panel widget widget_custom_html panel-first-child panel-last-child" data-index="0" data-style="{"background_image_attachment":false,"background_display":"tile"}"><div class="textwidget custom-html-widget"><img alt="Herman" height="96" width="96" data-src="https://356259.smushcdn.com/255537/wp-content/uploads/learn-press-profile/1/bd882ec1e4a6fe8b6b83e4bb85be5c26.jpg?lossy=1&strip=1&webp=1" class="avatar avatar-96wp-user-avatar wp-user-avatar-96 photo lazyloaded" src="https://356259.smushcdn.com/255537/wp-content/uploads/learn-press-profile/1/bd882ec1e4a6fe8b6b83e4bb85be5c26.jpg?lossy=1&strip=1&webp=1"><noscript><img alt="Herman" src="https://356259.smushcdn.com/255537/wp-content/uploads/learn-press-profile/1/bd882ec1e4a6fe8b6b83e4bb85be5c26.jpg?lossy=1&strip=1&webp=1" class="avatar avatar-96wp-user-avatar wp-user-avatar-96 photo" height="96" width="96" /></noscript> <div class="pmpro_logged_in_welcome_wrap">
<h3 class="pmpro_member_display_name">
Welcome, <a href="https://frenchtasticpeople.com/membership-account/">Herman</a> </h3>
</div>
<div class="media-12 columns">
<h1 class="page-title">
Bonjour
</h1>
<div class="row">
<div class="media-10 small-12 media-offset-1 columns">
<p class="text-3x text-center">
<i class="fas fa-sync-alt"></i> Update your account easily <i class="fas fa-search"></i> Browse the entire course library <i class="far fa-hand-pointer"></i> Choose any lesson you want for free <br> <i class="fas fa-download"></i> Download resources <i class="fas fa-tools"></i> Practice your French skills in the lab <i class="fas fa-user-headset"></i> Get premium support
</p>
<div class="dashboard-quick-links">
Quick Nav Links:
<ul class="button-link-list">
<li class="quick-nav-item nav-item-1">
<a href="https://frenchtasticpeople.com/courses/" title="French courses that makes it easy for you to practice your French anytime, from anywhere and at a very affordable cost.">Course Library</a></li>
<li class="quick-nav-item nav-item-2">
<a href="https://frenchtasticpeople.com/user-profile/" title="French courses that makes it easy for you to practice your French anytime, from anywhere and at a very affordable cost.">Enrolled Courses</a></li>
<li class="quick-nav-item nav-item-3">
<a href="https://frenchtasticpeople.com/files/" title="French courses that makes it easy for you to practice your French anytime, from anywhere and at a very affordable cost.">Work Files</a></li>
<li class="quick-nav-item nav-item-4">
<a href="https://frenchtasticpeople.com/course-category/core-vocabulary/" title="French courses that makes it easy for you to practice your French anytime, from anywhere and at a very affordable cost.">Core Vocabulary</a></li>
<li class="quick-nav-item nav-item-5">
<a href="https://frenchtasticpeople.com/course-category/extended-french-vocabulary/" title="French courses that makes it easy for you to practice your French anytime, from anywhere and at a very affordable cost.">Extended Vocabulary</a></li>
<li class="quick-nav-item nav-item-6">
<a href="https://frenchtasticpeople.com/course-category/basic-french-vocabulary-videos/" title="French courses that makes it easy for you to practice your French anytime, from anywhere and at a very affordable cost.">Vocab Video Tutorials</a></li>
<li class="quick-nav-item nav-item-7">
<a href="https://frenchtasticpeople.com/course-category/french-grammar-glossary/" title="French courses that makes it easy for you to practice your French anytime, from anywhere and at a very affordable cost.">Grammar Glossary</a></li>
<li class="quick-nav-item nav-item-8">
<a href="https://frenchtasticpeople.com/course-category/free-french-grammar-course-challenge/" title="French courses that makes it easy for you to practice your French anytime, from anywhere and at a very affordable cost.">Grammar Bootcamp</a></li>
<li class="quick-nav-item nav-item-9">
<a href="https://frenchtasticpeople.com/course-category/most-used-french-verbs-part-1/" title="French courses that makes it easy for you to practice your French anytime, from anywhere and at a very affordable cost.">French Verbs (1)</a></li>
<li class="quick-nav-item nav-item-10">
<a href="https://frenchtasticpeople.com/french-course-outlines" title="French courses that makes it easy for you to practice your French anytime, from anywhere and at a very affordable cost.">Course syllabuses</a></li>
<li class="quick-nav-item nav-item-11">
<a href="https://frenchtasticpeople.com/french-course-guidelines/" title="French courses that makes it easy for you to practice your French anytime, from anywhere and at a very affordable cost.">Course Guidelines</a></li>
<li class="quick-nav-item nav-item-12">
<a href="https://frenchtasticpeople.com/buy-amazon-french-books/" title="French courses that makes it easy for you to practice your French anytime, from anywhere and at a very affordable cost.">Amazon</a></li>
<li class="quick-nav-item nav-item-13">
<a href="https://frenchtasticpeople.com/french-course-outlines" title="French courses that makes it easy for you to practice your French anytime, from anywhere and at a very affordable cost.">Manage Account</a></li>
<li class="quick-nav-item nav-item-14">
<a href="https://frenchtasticpeople.com/french-course-guidelines/" title="French courses that makes it easy for you to practice your French anytime, from anywhere and at a very affordable cost.">Edit Profile</a></li>
<li class="quick-nav-item nav-item-15">
<a href="https://frenchtasticpeople.com/lab/" title="French courses that makes it easy for you to practice your French anytime, from anywhere and at a very affordable cost.">Practice Lab</a></li>
</ul>
</div>
</div>
</div>
</div></div></div>
</div>
</div>
</div>
<?php
}
Hi Robin,
I’m sad to report that the code provided had no effect on my site.
I inserted it Code Snippet but no effect.
screenshot of the part to be changed
I guess my real question is how to change theme/WP header on pages specifically displaying forum content? Some other participant here had something to say about it https://bbpress.org/forums/topic/wordpress-header-on-bbpress/ and claimed to have been successful (?)
Will you vouch for it as well or do you have have something else you can help me implement?
TIA
This should get you most of what you want
add_action( 'bbp_template_after_forums_index' , 'rew_add_extra_text' );
add_action( 'bbp_template_after_single_forum' , 'rew_add_extra_text' );
add_action( 'bbp_template_after_single_topic' , 'rew_add_extra_text' );
function rew_add_extra_text () {
?>
<div id="pg-70016-0" class="panel-grid panel-has-style" data-style="{"class":"banner row","background_image_attachment":false,"background_display":"tile","row_stretch":"full-stretched-padded","cell_alignment":"flex-start"}" data-ratio="1" data-ratio-direction="right">
<div class="banner row siteorigin-panels-stretch panel-row-style panel-row-style-for-70016-0" data-stretch-type="full-stretched-padded">
<div id="pgc-70016-0-0" class="panel-grid-cell" data-weight="1">
<div id="panel-70016-0-0-0" class="so-panel widget widget_custom_html panel-first-child panel-last-child" data-index="0" data-style="{"background_image_attachment":false,"background_display":"tile"}"><div class="textwidget custom-html-widget"><img alt="Herman" height="96" width="96" data-src="https://356259.smushcdn.com/255537/wp-content/uploads/learn-press-profile/1/bd882ec1e4a6fe8b6b83e4bb85be5c26.jpg?lossy=1&strip=1&webp=1" class="avatar avatar-96wp-user-avatar wp-user-avatar-96 photo lazyloaded" src="https://356259.smushcdn.com/255537/wp-content/uploads/learn-press-profile/1/bd882ec1e4a6fe8b6b83e4bb85be5c26.jpg?lossy=1&strip=1&webp=1"><noscript><img alt="Herman" src="https://356259.smushcdn.com/255537/wp-content/uploads/learn-press-profile/1/bd882ec1e4a6fe8b6b83e4bb85be5c26.jpg?lossy=1&strip=1&webp=1" class="avatar avatar-96wp-user-avatar wp-user-avatar-96 photo" height="96" width="96" /></noscript> <div class="pmpro_logged_in_welcome_wrap">
<h3 class="pmpro_member_display_name">
Welcome, <a href="https://frenchtasticpeople.com/membership-account/">Herman</a> </h3>
</div>
<div class="media-12 columns">
<h1 class="page-title">
Bonjour
</h1>
<div class="row">
<div class="media-10 small-12 media-offset-1 columns">
<p class="text-3x text-center">
<i class="fas fa-sync-alt"></i> Update your account easily <i class="fas fa-search"></i> Browse the entire course library <i class="far fa-hand-pointer"></i> Choose any lesson you want for free <br> <i class="fas fa-download"></i> Download resources <i class="fas fa-tools"></i> Practice your French skills in the lab <i class="fas fa-user-headset"></i> Get premium support
</p>
<div class="dashboard-quick-links">
Quick Nav Links:
<ul class="button-link-list">
<li class="quick-nav-item nav-item-1">
<a href="https://frenchtasticpeople.com/courses/" title="French courses that makes it easy for you to practice your French anytime, from anywhere and at a very affordable cost.">Course Library</a></li>
<li class="quick-nav-item nav-item-2">
<a href="https://frenchtasticpeople.com/user-profile/" title="French courses that makes it easy for you to practice your French anytime, from anywhere and at a very affordable cost.">Enrolled Courses</a></li>
<li class="quick-nav-item nav-item-3">
<a href="https://frenchtasticpeople.com/files/" title="French courses that makes it easy for you to practice your French anytime, from anywhere and at a very affordable cost.">Work Files</a></li>
<li class="quick-nav-item nav-item-4">
<a href="https://frenchtasticpeople.com/course-category/core-vocabulary/" title="French courses that makes it easy for you to practice your French anytime, from anywhere and at a very affordable cost.">Core Vocabulary</a></li>
<li class="quick-nav-item nav-item-5">
<a href="https://frenchtasticpeople.com/course-category/extended-french-vocabulary/" title="French courses that makes it easy for you to practice your French anytime, from anywhere and at a very affordable cost.">Extended Vocabulary</a></li>
<li class="quick-nav-item nav-item-6">
<a href="https://frenchtasticpeople.com/course-category/basic-french-vocabulary-videos/" title="French courses that makes it easy for you to practice your French anytime, from anywhere and at a very affordable cost.">Vocab Video Tutorials</a></li>
<li class="quick-nav-item nav-item-7">
<a href="https://frenchtasticpeople.com/course-category/french-grammar-glossary/" title="French courses that makes it easy for you to practice your French anytime, from anywhere and at a very affordable cost.">Grammar Glossary</a></li>
<li class="quick-nav-item nav-item-8">
<a href="https://frenchtasticpeople.com/course-category/free-french-grammar-course-challenge/" title="French courses that makes it easy for you to practice your French anytime, from anywhere and at a very affordable cost.">Grammar Bootcamp</a></li>
<li class="quick-nav-item nav-item-9">
<a href="https://frenchtasticpeople.com/course-category/most-used-french-verbs-part-1/" title="French courses that makes it easy for you to practice your French anytime, from anywhere and at a very affordable cost.">French Verbs (1)</a></li>
<li class="quick-nav-item nav-item-10">
<a href="https://frenchtasticpeople.com/french-course-outlines" title="French courses that makes it easy for you to practice your French anytime, from anywhere and at a very affordable cost.">Course syllabuses</a></li>
<li class="quick-nav-item nav-item-11">
<a href="https://frenchtasticpeople.com/french-course-guidelines/" title="French courses that makes it easy for you to practice your French anytime, from anywhere and at a very affordable cost.">Course Guidelines</a></li>
<li class="quick-nav-item nav-item-12">
<a href="https://frenchtasticpeople.com/buy-amazon-french-books/" title="French courses that makes it easy for you to practice your French anytime, from anywhere and at a very affordable cost.">Amazon</a></li>
<li class="quick-nav-item nav-item-13">
<a href="https://frenchtasticpeople.com/french-course-outlines" title="French courses that makes it easy for you to practice your French anytime, from anywhere and at a very affordable cost.">Manage Account</a></li>
<li class="quick-nav-item nav-item-14">
<a href="https://frenchtasticpeople.com/french-course-guidelines/" title="French courses that makes it easy for you to practice your French anytime, from anywhere and at a very affordable cost.">Edit Profile</a></li>
<li class="quick-nav-item nav-item-15">
<a href="https://frenchtasticpeople.com/lab/" title="French courses that makes it easy for you to practice your French anytime, from anywhere and at a very affordable cost.">Practice Lab</a></li>
</ul>
</div>
</div>
</div>
</div></div></div>
</div>
</div>
</div>
<?php
}
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
You can manually change any set up already from their profile.
For new users you can change this at registration
eg
function change_display_name( $user_id ) {
$info = get_userdata( $user_id );
$args = array(
'ID' => $user_id,
'display_name' => $info->first_name . ' ' . $info->last_name
);
wp_update_user( $args );
}
add_action('user_register','change_display_name');
you have options of
‘display_name’ => $info->user_login
or
‘display_name’ => $info->user_email
or
‘display_name’ => $info->user_nicename
or if you have a custom field, you can use that
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
These posts all contained 2 links to my website, below the threshold for moderation trigger.)
The html code has tons of links in it – hence the moderation 🙂
put this in the custom css part of your theme
.bbp-forums-list {
display: none;
}
neither is standard in bbpress, maybe in buddypress or buddyboss, I don’t know.
for the handle, you’ll need to add
/**
* Add @mentionname after bbpress forum author details
*/
add_action( 'bbp_theme_after_reply_author_details', 'mentionname_to_bbpress' );
function mentionname_to_bbpress () {
$user = get_userdata( bbp_get_reply_author_id() );
if ( !empty( $user->user_nicename ) ) {
$user_nicename = $user->user_nicename;
echo "@".$user_nicename;
}
}
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
1. use this plugin
bbp style pack
dashboard>settings>bbp style pack>forum Display – item 11
or 2. using code
to set to say 60
add_filter ('bbp_before_has_forums_parse_args', 'rew_number_of_forums') ;#
function rew_number_of_forums ($args) {
$args['posts_per_page'] = 60 ;
return $args ;
}
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
Thank you Robin,
That is very helpful info.
As I work on this I will try to document using these from a coder’s perspective and share it back 🙂
Peace,
Jamie
Hi everyone,
I am working on a plugin project and need a way to add a new forum and add a new topic to that forum, under my PHP code.
Can someone please direct me to where the bbp_ functions that do these things are documented? I can’t seem to find a developer guide.
I see one book on Amazon for bbpress – bbpress complete – it is like 2013. Does it help with coding stuff? Is there a new book available any one can recommend?
Thanks!
Jamie
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
add_filter( 'bbp_get_caps_for_role', 'rew_amend_role_caps', 10, 2 );
function rew_amend_role_caps( $caps, $role ) {
if ($role=='bbp_participant' ) {
$caps = array(
// Primary caps
'spectate' => true,
'participate' => true,
// Forum caps
'read_private_forums' => true,
// Topic caps
'publish_topics' => false,
'edit_topics' => false,
// Reply caps
'publish_replies' => true,
'edit_replies' => true,
// Topic tag caps
'assign_topic_tags' => true,
);
}
return $caps ;
}
I would like to change the function that participants are automatically given the rights to publish, create and edit topics.
I want the topics to be controlled by the administrator and participants are only able to reply to existing ones.I used the plugin WPFront User Role Editor and selected Override Role Edit Permissions to get access to the role settings, but when I go to the role and deselect the tick box on the aforementioned items after saving it defaults back to as it was.
Is there any way of changing this whist avoiding code. If not what happens to the code after an update?
Thanks in advance.
There are sub forums involved. The one that is considered the “freshest” has a sub forum inside of that as well, but that forum actually has the oldest most recent post.
1-_
A-_
A'
-_
B
-_
C
-_
D
So forum 1’s freshness is displayed as the freshness of A’, but in reality it should be the freshness of D. Hopefully that makes sense.
ok,
so I think you have 2 choices
1. not show your forum page unless logged in. If all your forums will be private, then this is probably a good option.
You can create a forums page (https://codex.bbpress.org/step-by-step-guide-to-setting-up-a-bbpress-forum/ item 3) and then use a restriction plugin such as ‘restrict content’ to make this a login page – see https://usersinsights.com/wordpress-private-page/ and/or https://kinsta.com/knowledgebase/wordpress-private-page/
2. you could use my ‘private groups’ plugin to do this, and still show that these forums exist
Private groups
by the way you could try having a main forums page and using restrict to prevent access to that
see
https://codex.bbpress.org/step-by-step-guide-to-setting-up-a-bbpress-forum/ item 3
Website: https://jewishwomenofwisdom.org
wordpress version: 5.8.3
bb press version: 2.6.9
I have a WordPress website with Restricted content pro (membership plugin), bbpress and buddy press. There are some forum pages, that are pages with bb press shortcodes and blocked with Restricted content pro and its locked message for logged out users appears(such as https://jewishwomenofwisdom.org/forum/ OR https://jewishwomenofwisdom.org/new-topic/). That is working fine. However, pages generated from the post type such as the archive page https://jewishwomenofwisdom.org/forums/, aren’t blocked and can be accessed (and a list of categories can be seen). Then when a logged OUT user tries to click on a topic to see topic content, it send them to a funny login (not restricted content pro) and then when they click the “log in” button, (whether or not the username and password fields are filled in) in they are redirected to the regular RCP login. That is an extra step. How do I get rid of the middle step?
(not sure if this info is relevant: Under Restrict – buddypress , I set that “Redirect to page” to a page called “locked content”.)
Thank you in advance.
Back end: under Forums it shows the ‘Last Post’ as 3 hours, 30 minutes ago when I just added a test post. However, under ‘Replies’ it shows the correct time in the ‘Created’ column.
Can you test this with a page or post – bbpress is just a custom post type and uses wordpress code for the backend
The message is generated by bbPress as an alert on the WP dashboard. Some explanation here:
https://codex.bbpress.org/features/tools/upgrade-forums/
Hello,
I have a problem with the display of the breadcrumbs. On my local bbpress forum they appear well and all works. But on the online version I do not see them appear. It’s the same code and the same settings.
hmmm… that code looks fine.
I’m not quite sure what you mean in
Also I try with the update in the root of functions.php this works, sort of, because the update is done, but the select dropdown in the user profile in the admin page get stuck in the old one, but in code the selected one is the updated, if I get out and enter again is fixed.
have you access to the database?
WP version: 5.8.3
bbpress version: 2.6.9
site is in a local environment at the moment.
I’m trying to update the role for the users once they enroll in course. I manage to found an entry point for this with “learndash_update_course_access” once there is an update in the user courses list. This part works. What is giving me troubles is the update of the user bbpress roles.
This is the most raw code I try:
add_action( 'learndash_update_course_access', 'updatebbpressrole', 20, 4 );
function updatebbpressrole ($user_id, $course_id, $course_access_list, $remove) {
$new_role_forum_role = "bbp_blocked";
bbp_set_user_role( $user_id, $new_role_forum_role );
}
I try with a pair of custom roles I have, but it also happens with the basics bbpres roles too, so is not related to the new roles.
Also I try with the update in the root of functions.php this works, sort of, because the update is done, but the select dropdown in the user profile in the admin page get stuck in the old one, but in code the selected one is the updated, if I get out and enter again is fixed.
Any idea about why bbp_set_user_role is not working this way ?
ok, that is not the bbpress widget but a shortcode – bbpress has both for login.
what would you like the shortcode to do that is not standard?
having hidden it, you can amend the width of the other columns
eg
li.bbp-forum-freshness, li.bbp-topic-freshness {
display: none;
}
li.bbp-forum-info, li.bbp-topic-title {
width: 65%;
}
li.bbp-forum-reply-count, li.bbp-forum-topic-count, li.bbp-topic-reply-count, li.bbp-topic-voice-count {
width: 15%;
}
can you just let me know what shortcode you are using, then I can try it out on my test site.