i don’t know why this one was so hard for the support people to answer, but the hook I was looking for was
add_filter( 'bbp_get_reply_content', 'lp_access_enforcement', 99,2);
this allows me to take the content just before it is posted on the screen and manipulate it how I want. now my forums here
http://thelightningpath.com/forum/subject/the-need-for-spirit-to-sustain-a-growing-baby/
can be locked down. people now need to pay for a subscription to get access to certain forums on my site.
i’m posting this for anybody else that might want to expand on bbpress’s limited access functionality.
I’m trying to make this checkbox checked by default: Create a Group -> 4. Forum -> Group Forum -> “Yes. I want this Group to have a forum.”
I found the code that handles this at /plugins/bbpress/includes/extend/buddypress/group.php, a function called create_screen. I’d like to customize this function, so I copied the function to a plugin script. I figure I have to do something like
remove_action(‘whereever_the_hook_for_the_group_creation_thing_is’, ‘create_screen’);
add_action( ‘whereever_the_hook_for_the_group_creation_thing_is’, ‘create_screen’ );
to get my custom version to replace the stock version, but I don’t know where the hook is or how to go about finding it.
The dialog in bbPress for inserting a link into a post by default shows a search box and a list of existing content on the site.
I am using WooCommerce on the same WordPress installation as bbPress. The problem is that WooCommerce coupons use Pages. This means all of my coupons (often ones that are created for specific people or specific purposes) can be publicly displayed in this list.
I’ve edited my css to display: none; this section, but I’m not satisfied with this solution as it is still possible for someone to change the css and view these pages.
Is there a way I can disable this feature? How might I go about modifying the code to remove it?
Hi Stephan,
The minibb database is 124 mb, so thats pretty big 🙂
The code is pretty ugly now, but maybe I’ll clean it up later. It’s pretty simular to yours.
I used this in the callback_html function.
return htmlspecialchars_decode(str_replace(array('$'), array('$'), $this->deCodeBB($field)), ENT_QUOTES);
And I used the minibb deCodeBB function to form bbcodes:
public function deCodeBB($msg) {
$pattern=array(); $replacement=array();
$pattern[]="/<img src=\"(.+?)\"([^\>]+)>/i";
$replacement[]="[img]\\1[/img]";
$pattern[]="/<a href=\"(.+?)\"([^\>]+)>(.+?)<\/a>/i";
$replacement[]="[url=\"\\1\"]\\3[/url]";
$pattern[]="/<[bB]>(.+?)<\/[bB]>/s";
$replacement[]="[b]\\1[/b]";
$pattern[]="/<[iI]>(.+?)<\/[iI]>/s";
$replacement[]="[i]\\1[/i]";
$pattern[]="/<[uU]>(.+?)<\/[uU]>/s";
$replacement[]="[u]\\1[/u]";
$pattern[]="/<font color=\"(#[A-F0-9]{6})\">(.+?)<\/font>/is";
$replacement[]='[font\\1]\\2[/font]';
$pattern[] = '/<div class=\"quote\"><div class=\"quoting\">Quoting: (.+?)<\/div><br>(.+?)<\/div>/is';
$replacement[] = "[quote=\\1]\\2[/quote]";
$pattern[] = '/<div class=\"quote\">(.+?)\<\/div>/is';
$replacement[] = "[quote]\\1[/quote]";
$pattern[] = '/<div class="codex">(.+?)\<\/div>/is';
$replacement[] = "[code]\\1[/code]";
/* YouTube code */
$pattern[]="/<object width=\"297\" height=\"245\"><param name=\"movie\" value=\"http:\/\/www\.youtube\.com\/v\/([a-zA-Z0-9-_]+)\"><\/param><param name=\"wmode\" value=\"transparent\"><\/param><embed src=\"http:\/\/www\.youtube\.com\/v\/([a-zA-Z0-9-_]+)\" type=\"application\/x-shockwave-flash\" wmode=\"transparent\" width=\"297\" height=\"245\"><\/embed><\/object>/i";
$replacement[]="[youtube=http://www.youtube.com/watch?v=\\1]";
/* --YouTube code */
$msg=preg_replace($pattern, $replacement, $msg);
$msg=str_replace ('<br>', "\n", $msg);
if(substr_count($msg, '[img\\2]')>0) $msg=str_replace('[img\\2]', '[img]', $msg);
if(function_exists('smileThis')) $msg=smileThis(FALSE,TRUE,$msg);
return $msg;
}
Hope this helps.
Cheers.
So I have a main forum with about 5 different sub forums.
I would like the main forum to have a background image, and the 5 sub forums to have their own. The topics in the main forums will keep the main forum background image and the topics in the sub forums will keep that particular sub forum background image as well. Is it possible?
If there is no easy way I figure I could hack it. Create pages with the different backgrounds, make the forums transparent, and iframe it. Or insert the php code to call the forums in on that page, how to do that I don’t know but I guess I’ll figure it out if no one can help here as I expect. Would be great if a plugin could do all this but I doubt such a one exists. Thanks for any help.
Hello people of bbPress.
I’m having one weird issue with my bbPress forum on the website I’m building.
I can’t quite let you see it, but I have attached an image.

I’m quite sure that this isn’t a CSS error, but rather some HTML bug of some kind.
I what I can’t figure out is where this is in the code.
The forum is adding “split” attributes to its elements, I’ve tried removing those.
What I’m wondering is, is this a HTML bug or is this a bug in a php loop?
Please answer this as soon as possible.
Thanks in advance,
The knight of Amsterdam
Hey Robin, thanks for the reply.
How would I hide the whole bbp-replies table on the topic page as
<?php bbp_reply_content(); ?>
just hides the cell.
Thanks for your help with this.
It was late last night and maybe I was seeing things, I have just tried to reproduce the issue and cannot.
The fix for this was Trac Ticket #2476 and in changeset r5187.
Can you check the contents of this file on your server please, it should match this file at Line #92
/includes/users/functions.php#L92
'url' => 'comment_author_url'
Nevermind, I found the problem. I remembered I did this before:
I have a statistics plugin that uses the server time instead of the WP timezone settings.
Therefore I added <?php date_default_timezone_set('Asia/Bangkok'); ?> to the plugins php and that was in the sidebar always present.
Now I removed it the Edit Allowed Time works correct.
I pasted this code under main wp-config.php and side is gone.
function disable_all_widgets( $sidebars_widgets ) {
if ( function_exists(‘is_bbpress’) ) {
if (is_bbpress()) {
$sidebars_widgets = array(false);
remove_all_actions(‘bp_register_widgets’);
unregister_sidebar( ‘bp_core_widgets’ );
}
}
return $sidebars_widgets;
}
add_filter(‘sidebars_widgets’, ‘disable_all_widgets’, 1, 1);
My question is how do we remo Options like Topic Type and Topic Status ???
Thank you.
I really love bbPress and have been gratefully using it on my website.
No disrespect intended, and just a friendly request for consideration,…
Would it be possible to make the backtick functionality for posting optional?
Ie. a setting in the config page saying something like “Use backticks for code posting”?
I’m running into situations where the actual content a user wants post should have backticks in it, without the filtering modifying it (for example shell related code examples).
Modifying the core files of bbPress is of course not a real option, just a temporary bandaid at best, and I know others have been looking into the backtick debacle as well (for example GhettoBSD).
you can use ‘widget logic’ plugin to control what is shown in sidebars. for bbpress the logic is
is_bbpress() to display and
!is_bbpress() to hide
or if you want a forum specific sidebar use ‘bbpress WP’ tweaks plugin.
Profile images use the gravatar image see http://en.gravatar.com/ for details
Darn, 10 minutes just past, could not edit anymore.
Why are we doing so difficult?
Simple css did the job as always: .bbpress .wpns_wrapper { display:none ! important;}
Nothing seems to work, either gone WP side also or no changes.
Maybe it could be done inside the php?
Only if it is easy, the page number under the forums page is not the end of the world.
/*
Plugin Name: Page navi slider
Plugin URI:
Description: An advanced, fully customizable and actually responsive navigation plugin using jQuery slider
Version: 1.2.2
Author: Iznogood1
Author URI: denisns1@free.fr
*/
//Installation / Uninstallation
require_once(dirname( __FILE__ ) . '/inc/install.php');
//Administration
require_once(dirname( __FILE__ ) . '/inc/settings.php');
//Display the plugin
require_once(dirname( __FILE__ ) . '/inc/frontend.php');
//Version
function wpns_version(){
$v=get_plugin_data(__File__);
return $v['Version'];
}
//Load style and JS
function wpns_style_and_scripts() {
wp_register_style('page_navi_slider_style', plugins_url('style/page-navi-slider.css', __FILE__) );
wp_enqueue_style('page_navi_slider_style' );
wp_enqueue_script('page-navi-slider-script', plugins_url('/js/page-navi-slider.min.js', __FILE__), array( 'jquery', 'jquery-ui-slider' ), true);
wp_enqueue_script('jQueryUiTouch', plugins_url('/js/jquery.ui.touch-punch.min.js', __FILE__), array( 'jquery' ), true);
if(ereg('MSIE 7',$_SERVER['HTTP_USER_AGENT'])){
wp_register_style('page_navi_slider_styleIE', plugins_url('style/page-navi-slider.ie.css', __FILE__) );
wp_enqueue_style('page_navi_slider_styleIE' );
}
}
//Localization
load_plugin_textdomain( 'page-navi-slider', '', dirname( plugin_basename( __FILE__ ) ) . '/lang' );
//Actions and filtes
add_action( 'wp_enqueue_scripts', 'wpns_style_and_scripts' );
register_activation_hook(__FILE__, 'wpns_install' );
register_deactivation_hook(__FILE__, 'wpns_remove_auto_display' );
register_uninstall_hook(__FILE__, 'wpns_uninstall');
wpns_auto_display();
//Main function
function page_navi_slider(){
//Prepare pagination
global $wp_query, $wp_rewrite;
$wp_query->query_vars['paged'] > 1 ? $current = $wp_query->query_vars['paged'] : $current = 1;
$pagination = array(
'base' => @add_query_arg('page','%#%'),
'total' => $wp_query->max_num_pages,
'current' => $current,
'show_all' => all,
'type' => 'array',
prev_next => false,
);
if( $wp_rewrite->using_permalinks() )
$pagination['base'] = user_trailingslashit( trailingslashit( remove_query_arg( 's', get_pagenum_link( 1 ) ) ) . 'page/%#%/', 'paged' );
if( !empty($wp_query->query_vars['s']) )
$pagination['add_args'] = array( 's' => str_replace( ' ' , '+', get_query_var( 's' ) ) );
//Display the plugin
$page_links=paginate_links( $pagination );
wpns_frontend($current,$wp_query->max_num_pages,$page_links,get_option('wpns_settings'));
}
Pushing my knowledge in this are so a quick stab before I go for the night (11pm here)
Rather than is_single have a look at is_archive
The main bbPress conditional tag is is_bbpress
Try <?php if ( !is_bbpress ) : ?>
If you are going to make changes use a custom bbpress.css file in your theme so updates don’t override your changes 🙂
https://codex.bbpress.org/theme-compatibility/
Try running the ‘Remap existing users to default forum roles’ repair tool.
https://codex.bbpress.org/repair-forums/
It also looks like you are using another plugin to control access to bbPress forums.
What is this plugin and does it work with bbPress’ roles?
That said one of the strings ‘You must be logged in to create new topics’ IS translated here so it might be the case of updating your translations.
Details to update your translations are here https://codex.bbpress.org/bbpress-in-your-language/
I would also look at the 115 of 1034 strings yet to be translated looking at the details here and get those translated and then contact your local Hebrew translation team via https://he.wordpress.org/contact/ to get the strings approved.
Follow the steps to copy the template files that you need to customize as per this:
https://codex.bbpress.org/theme-compatibility/
Primarily it will be loop-single-reply.php but you will need to look at a few of the other templates also.
Before Line #45:
<?php bbp_reply_author_link( array( 'sep' => '<br />', 'show_role' => true ) ); ?>
After Line #45:
<?php bbp_reply_author_link( array( 'sep' => '<br />', 'show_role' => false ) ); ?>
Around that same area in that file you will want call whatever WooCommerce function you need to display the users group.
eg. <div><?php woo_user_group( userid() ); ?></div>
(I have no idea what functions WooCommerce use)
To style the widget use this, I did it to mine and now is just a background with text and lines.
Title stripped, border stripped, ect.
Adjust it as needed.
#bbp_replies_widget-2 {width: 400px ! important; height: 500px ! important; float:right;}
#bbp_replies_widget-2 .widget-title { display:none ! important }
#bbp_replies_widget-2 { border: none ! important; box-shadow: none ! important; background-color: #DDE8F4 ! important; }
It could be that yours has a different number #bbp_replies_widget-2, so maybe 1 or 3 or 4
You can find it in the Page Source of your forum or use Firebug
I use the ID instead of the class, incase of using the widget more then once. Then you can style them separate.
What version of Xenforo are you importing from?
Do you see anything like ‘Starting Conversion’, ‘Converting Forums’, ‘Converting Topics’ etc?
If you don’t see the above confirm your Xenforo database configs to use with bbPress importer via your Xenforo config.php file.
/public_html/xenforo/library/config.php
ok, I’ve cut justsayno1’s code into a plugin, which you can download from here
This will then override any user choice, and enforce only username as the display
bbpress username plugin
Download this to your PC, and then using dashboard>plugins>add new and select upload files and upload the zipped file to your site
Let me know what works and doesn’t
Three things :
1. As justsayno1 says – the avatar will display the “display name” as the “alt” choice.
2. The profile page still appears to have the “display name”
3. I haven’t yet worked out how to take out the user choice to edit what is displayed, even though of course that is now redundant ie doesn’t work
@Mr-B – give it a go and let me know what works and what doesn’t – I basically just nicked Justsayno’s code.
@Justsayno1 on No. 1 above, can you point me to where the get-avatar function is in main wordpress (the file name would be great) and I’ll amend and cut that code into the plugin as well
@Justsayno1 on No.s 2 & 3 – have you fixed these, and if so can you point me to the solutions, and again I’ll add then to the plugin.
Hi, I have page navi installed on the WP side in the footer, just gives page numbers 1, 2, 3, …
Problem is it also shows on the forum index (forums list page) as just 1 page.
I tried the <?php if ( !is_singular('bbpress') ) : ?>, but that does not work, with or without the ‘bbpress’
Any idea’s on how to exclude the php from on the forum/bbpress side?
You could use this plugin https://wordpress.org/plugins/bbpress-string-swap/
Or you can use this plugin https://gist.github.com/ntwb/7864894
Or just add the code from the plugin to your themes functions.php or bbpress-functions.php file.
add_filter( 'bbp_get_dynamic_roles', 'ntwb_bbpress_custom_role_names' );
function ntwb_bbpress_custom_role_names() {
return array(
// Keymaster
bbp_get_keymaster_role() => array(
'name' => 'My Custom Keymaster Role Name',
'capabilities' => bbp_get_caps_for_role( bbp_get_keymaster_role() )
),
// Moderator
bbp_get_moderator_role() => array(
'name' => 'My Custom Moderator Role Name',
'capabilities' => bbp_get_caps_for_role( bbp_get_moderator_role() )
),
// Participant
bbp_get_participant_role() => array(
'name' => 'My Custom Participant Role Name',
'capabilities' => bbp_get_caps_for_role( bbp_get_participant_role() )
),
// Spectator
bbp_get_spectator_role() => array(
'name' => 'My Custom Spectator Role Name',
'capabilities' => bbp_get_caps_for_role( bbp_get_spectator_role() )
),
// Blocked
bbp_get_blocked_role() => array(
'name' => 'My Custom Blocked Role Name',
'capabilities' => bbp_get_caps_for_role( bbp_get_blocked_role() )
)
);
}