ok, so 3 stages
1. create the style.css entries – say you have a forum called ‘fred’ you might want to create a ‘fred’ style and have content for this eg
.fred #fixed-background { background: url(‘http://www.mysite.com/wp-content/uploads/2015/02/fredbackground.jpg’); }
2. look up the forum’s ID
go to dashboard>forums>all forums and hover over the ‘edit’
at the bottom of the screen you’ll see
http://www.mysite.com/wp-admin/post.php?post=2921&action=edit
in this case 2921 is the forum ID
3. add the style to the body class for that forum
Add this into your functions file
function rew_add_class ($classes, $bbp_classes, $wp_classes, $custom_classes ) {
//the above line pulls in the pre-existing values so we don't lose them - ie run this function using this existing $variables if they exist
//then we check is this is a forum using a bbpress function
if ( bbp_is_single_forum() ) {
$bbp_forum_id = bbp_get_forum_id();
if ($bbp_forum_id == 2922) $custom_classes[] = 'fred' ;
if ($bbp_forum_id == 2923) $custom_classes[] = 'george' ;
}
//then we check is this is a topic using a bbpress function
if ( bbp_is_single_topic() ) {
//and if so look up the forum id of that topic
$bbp_forum_id = bbp_get_topic_forum_id();
//now you will need to add lines for each forum you have and say which class class you want to use, these are just example lines. Add one for each forum
//the number is the 'page_id' (actually it's the post id !)
if ($bbp_forum_id == 2922) $custom_classes[] = 'fred' ;
if ($bbp_forum_id == 2923) $custom_classes[] = 'george' ;
}
//then this gets merges into the existing wordpress and bbpress classes
$classes = array_merge ( (array) $classes, (array) $custom_classes ) ;
Return apply_filters( 'rew_body_class', $classes, $bbp_classes, $wp_classes, $custom_classes ) ;
}
add_filter ('bbp_body_class' , 'rew_add_class') ;
install this plugin
https://wordpress.org/plugins/bbpress-genesis-extend/
try this CSS
#bbpress-forums .bbp-reply-content p,
#bbpress-forums .bbp-breadcrumb p {
font-size: 15px;
}
try this CSS instead.
#bbpress-forums .keymaster div.bbp-topic-content,
#bbpress-forums .keymaster div.bbp-reply-content,
#bbpress-forums .moderator div.bbp-topic-content,
#bbpress-forums .moderator div.bbp-reply-content {
background: #f8f8f8 url(images/team-member.png) top right no-repeat;
}
This should get a quite a few of the users names and turn them uppercase.
add this custom css where you can put custom css like in your child themes stylesheet or a custom css plugin.
a.bbp-author-name {
text-transform: uppercase;
}
if you are just using the shortcode , bbPress doesnt allow shortcodes for security reasons like users pasting the [bbp-login] shortcode
since i assume this is just for admins you can use this plugin to use the shortcode.
https://wordpress.org/plugins/bbpress-do-short-codes/
alright but by default it does show.
in the default file of loop-single-reply.php
you will see this
<div class="bbp-reply-author">
<?php do_action( 'bbp_theme_before_reply_author_details' ); ?>
<?php bbp_reply_author_link( array( 'sep' => '<br />', 'show_role' => true ) ); ?>
<?php if ( bbp_is_user_keymaster() ) : ?>
<?php do_action( 'bbp_theme_before_reply_author_admin_details' ); ?>
<div class="bbp-reply-ip"><?php bbp_author_ip( bbp_get_reply_id() ); ?></div>
<?php do_action( 'bbp_theme_after_reply_author_admin_details' ); ?>
<?php endif; ?>
<?php do_action( 'bbp_theme_after_reply_author_details' ); ?>
</div><!-- .bbp-reply-author -->
this is the code that shows it , hence the show role = true
<?php bbp_reply_author_link( array( 'sep' => '<br />', 'show_role' => true ) ); ?>
add this to your child theme functions.php or a functionality plugin.
function rk_top_five_view() {
bbp_register_view( 'top-five', __( '5 Most Popular Topics' ), array(
'meta_key' => '_bbp_reply_count',
'posts_per_page' => '5' ,
' max_num_pages' => '1',
'orderby' => 'meta_value_num' ),
false );
}
add_action( 'bbp_register_views', 'rk_top_five_view' );
and then add this to your page.
[bbp-single-view id="top-five"]
try this CSS
.bbpress #content-area ul li,
.bbpress #content-area ol li {
margin-left: auto;
}
you would need to do something like this.
Since it is hard to guess what your menu’s theme location is , i just put primary.
This does work in some default themes like Twentyfourteen though.
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 == 'primary') {
$current_user = wp_get_current_user();
$user = $current_user->user_login ;
$profilelink = '<a href="/forums/users/' . $user . '/edit">Edit Profile</a>';
$items .= '<li>' . $profilelink . '</li>';
}
return $items;
}
I can’t see that you implemented this code – is it still there?
Hi,
Is used the code snippet from the codex and it worked fine.
How could I modify the code to choose a specific menu?
E.g. primary oder secondary. Actually “Edit Profil” is shown in all my menues and I just want to have it on my Primary Menu.
// Filter wp_nav_menu() to add profile link
add_filter( 'wp_nav_menu_items', 'my_nav_menu_profile_link' );
function my_nav_menu_profile_link($menu) {
if (!is_user_logged_in())
return $menu;
else
$current_user = wp_get_current_user();
$user=$current_user->user_login ;
$profilelink = '<li><a href="/forums/users/' . $user . '/edit">Edit Profile</a></li>';
$menu = $menu . $profilelink;
return $menu;
}
Layout and functionality – Examples you can use
Thanks!
SOLVED
I just put another add_action and seems to work fine:
add_action( 'wp_print_footer_scripts', 'generico_quicktags' );
hii,
I used this shortcode to see the table with most popular topics on my homepage:
[bbp-single-view id="popular"]
the problem is that when user add topics the table get’s longer.
how can I limit the table rows?
thank
Hi all!
Its a pretty noob question, but i didn’t find anything related to my issue…
I added a quicktag to the wordpress default editor
function generico_quicktags() {
if ( wp_script_is( 'quicktags' ) ) {
?>
<script type="text/javascript">
QTags.addButton(
'pov_generico',
'POV (Genérico)',
'[pov-generico]',
'[/pov-generico]'
);
QTags.addButton( 'pov_generico', 'p', '<p class="fala generico">', '</p>', '', 'Fala (Personagem Genérico)', 10 );
</script>
<?php
}
}
add_action( 'admin_print_footer_scripts', 'generico_quicktags' );
But this don’t show in bbpress reply editor. How can i add this there too?
@robkk for me it doesn’t :/
any suggestions why?
I have found the solution. I pasted the code from NickMackz into the area of the IP adress, which was only visible for admins.
it could be done with code, suggest http://jobs.wordpress.net/ if you dontl have the skills, come back if you have good php, and I’ll point you at a file.
try adding
# bbpress-forums content-area ul li {
margin-left: 0px !important;
}
to your child theme style.css
Functions files and child themes – explained !
yes use the shortcode
[bsp-display-topic-index]
available in
https://wordpress.org/plugins/bbp-style-pack/
once activated see settings>bbp style pack> shortcodes for a full explanation of how to use this
I added some css in the custom css plugin, in order to get my bbpress forums full-width (drawing the code from an example in these forums). Success! or so I thought.
But not quite. Now, the “members” pages associated with the pulldown menus at the upper right are “too long”–text entry/text display boxes run over into the space of my right content sidebar. When I deactivate the css plugin, my problem goes away.
(WP 4.2.2, bbpress 2.5.7, Buddypress 2.2.3.1; theme is TwentyFourteen; I was able to see the same problem previewing 2013.)
Here’s the css in question:
.site,
.site-header {
max-width: 100%;
}
.bbpress-forums .col-2cl .main {
background: none repeat-y right 0;
padding-right: 0;
}
.site-content .entry-header,
.site-content .entry-content,
.site-content .entry-summary,
.site-content .entry-meta,
.page-content {
max-width: 100%;
}
.form-allowed-tags {
display: none;
}
div.bbp-breadcrumb,
div.bbp-topic-tags {
font-size: inherit !important;
}
#bbpress-forums ul.bbp-lead-topic,
#bbpress-forums ul.bbp-topics,
#bbpress-forums ul.bbp-forums,
#bbpress-forums ul.bbp-replies,
#bbpress-forums ul.bbp-search-results {
font-size: inherit !important;
}
#bbpress-forums {
font-size: inherit !important;
}
.bbpress .hentry {
margin: 0 auto 48px;
max-width: 100%;
}
@media screen and (min-width: 1008px) {
.bbpress .site-content {
margin-right: 0;
margin-left: 182px;
}
}
@media screen and (min-width: 1080px) {
.bbpress .site-content {
margin-left: 222px;
}
}
@media screen and (min-width: 1218px) {
.bbpress .site-content .entry-content {
margin-right: 0;
}
}
@media screen and (min-width: 673px) {
.bbpress .site-content {
margin-right: 0;
}
}
Can anyone help? I’d love to keep the full-width forum pages, but if it messes up the member pages, it’s a deal breaker…
And a year later I must add my thanks- I also have been able to use all this so that it works nicely, including the additional location field and with both website and/or location showing in the profile only if it is filled in…
Getting the location to show in the profile properly took a little more than the changes Steven mentions making to Robin’s code… For anyone else who might come this way here is all of it put together…
/* Add Location field to bbPress user profile page.
*/
function ntwb_user_contact_methods_location( $user_contact ){
/* Add user contact methods */
$user_contact['location'] = __('Location');
return $user_contact;
}
add_filter('user_contactmethods', 'ntwb_user_contact_methods_location');
/* Show Location in bbPress user profile.
*/
function user_profile_bbp_location_information() {
//this function adds the location to the profile display menu
$location=bbp_get_displayed_user_field( 'location' ) ;
if ( ! empty($location) ) {
$label1 = $rpi_options['item1_label'] ;
echo "<p>" ;
printf ( __( 'Location : ', 'bbpress' ));
echo $location;
echo"</p>" ;
}
}
add_action ('bbp_template_after_user_profile', 'user_profile_bbp_location_information') ;
/* Show website in bbPress user profile.
*/
function user_profile_bbp_website_information() {
//this function adds the website to the profile display menu
$url=bbp_get_displayed_user_field( 'user_url' ) ;
if ( ! empty($url) ) {
$label1 = $rpi_options['item1_label'] ;
echo "<p>" ;
printf ( __( 'Website : ', 'bbpress' ));
$url='<a href="'.$url.'">'.$url.'</a>';
echo $url;
echo"</p>" ;
}
}
add_action ('bbp_template_after_user_profile', 'user_profile_bbp_website_information') ;
Did posible use some diferent like this
<?php if (bbp_get_topic_forum_id() == bbp_get_forum_id('3263')) : ?>
this show category name for topick from number did posible use letter and from etc category general?
This work fine http://prntscr.com/73ah8d but u wont use letter not number
Is there any way instead of allowing the tag, just strip the code out?
@robkk , thanks. Actually, I had written some code like that for my website late last night. The result can be seen in action at http://dcjtech.info/forum/articles/operating-systems/linux/ . I even figured out how to migrate the bbpress-simple-view-counts data to my implementation. The migration was easy (a few SQL queries via phpMyAdmin) and not at all complex as other developers thought (https://wordpress.org/support/topic/sync-with-simple-view-counts).
I am use Sahifa from Themeforest. I put all the codes in the Theme.
Hello!
First, I want to say how much I appreciate the BBpress platform. I’ve been using it for over a year now and it has served the site well.
I have ran into an issue where every single comment ever made on posts now appear below the forums. I’m completely baffled as to how to handle this. It does seem to be a theme issue as this does not happen with the TwentyFifteen theme. Is there a way to remove showing the comments altogether on any forum page (which is preferred actually).
Has anyone had this same issue? Is there a way to simply have the comments not show up at all in the forums? Is there code that I can place in my functions.php that will make them not appear in the forums?
Any and all help would be greatly appreciated. As of now, this issue is causing some confusion and making my pages extremely long.
My site is FREEDOMcgc.com
Link to where the issue is happening: CLICK HERE
WordPress Version WordPress 4.2.2
bbpress Version 2.5.7
Buddypress Version 2.2.3.1