@robin I am experiencing the exact same issue, even when using ?ao_noptimize=1 to shut off Autoptimize for testing.
I also use GeneratePress (pro), and bbpress with bbpstylepack .
The individual forums show perfectly, but the index is very broken and missing proper styling.
The issue can be seen here https://www.budget101.com/community/
ok, it is a function in your child theme’s function file – line 28
Call to undefined function is_bbpress() in /home/storm/sites/wbc1-otiscreative-co-uk/public/wp-content/themes/Divi-Child-Theme/functions.php:28
So who had created that file? as either they or you will need to amend whatever that part of the file is trying to do.
Good morning,
In my forum they have the same capability but the Name group of two i needed. The forum is only one Part of my site.
Did you have an idea for the Code?
Thanks a lot
Hello,
I need that the spectator had the same capabilitys as a Participant.
Can anybody give a code for my functions.php
That were great.
Sorry for my English. I´m from Germany.
Regards
Hi!
To anyone in need of a login menu item with both user avatar and Link to the Bbpress dashboard in 2022, here’s my version of @robkk ‘s code :
add_filter('wp_nav_menu_items','rk_bbp_menu_profile_link', 10, 2);
function rk_bbp_menu_profile_link( $items, $args ) {
if( is_user_logged_in() && $args->theme_location == 'menu-1') {
$current_user = wp_get_current_user();
$user = $current_user->user_login ;
$avatar = get_avatar( $current_user->ID, 64 );
$items .= '<li class="NavBarLogin"><a href="/forums/users/' . $user . '/edit">' . $avatar . 'Mon compte</a></li>';
}
return $items;
}
I’ve got BuddyPress set up so that each group has one bbPress forum. I’d like to show a ‘Subscribe’ button in the group header on the group’s homepage which works exactly the same as the Subscribe button on the group’s forum page.
I’m using the code below to show the button, but it reloads the page instead of doing an AJAX call, and it doesn’t subscribe/unsubscribe the user from the group’s forum.
What do I need to do to get this working? The correct forum ID is being passed in the arguments.
$forum_ids = bbp_get_group_forum_ids();
if ( $forum_ids ) {
$sub_link_args = [ 'object_id' => reset( $forum_ids ) ];
bbp_forum_subscription_link( $sub_link_args );
}
I’ve enabled the full text editor, but it doesn’t use the editor styles I’ve created for the admin area.
Adding this:
add_filter( 'bbp_before_get_the_content_parse_args', 'u3aBBPEditorStylesheet' );
function u3aBBPEditorStylesheet( $args ) {
$args['tinymce'] = array( 'content-css' => get_stylesheet_directory_uri() . '/css/bothEditorStyles.css');
return $args;
);
replaces the editor with the HTML one. In the above setting $args[‘tinymce’] back to true brings the full text editor back. Any idea what I’m doing wrong?
Andy
Wait what…Version 1 ?! oh my! (facepalm)!
Thanks, Robin, for this. I’ll update bbpress on my site and run the code you’ve provided.
merci!
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.