Search Results for 'code'
-
Search Results
-
Hi, i had a big problem with bbpress in the sense that it crashed (fatal error) every time i tried to administrate it by clicking the “forums” tab.
I found out that the below function was the problem, and in particular that i needed to change to:
$post_stati = bbp_get_public_status_id();
from
$post_stati[] = bbp_get_public_status_id();for some reason the straight brackets broke everything, i don’t understand why, so i wanted to flag this for future updates. i’m a complete newb so yeah 😀
error code:
Fatal error: Uncaught Error: [] operator not supported for strings in /customers/f/9/9/simzone.net/httpd.www/HQ/wp-content/plugins/bbpress/includes/forums/functions.php:1800 Stack trace: #0 /customers/f/9/9/simzone.net/httpd.www/HQ/wp-includes/class-wp-hook.php(298): bbp_pre_get_posts_normalize_forum_visibility(Object(WP_Query)) #1 /customers/f/9/9/simzone.net/httpd.www/HQ/wp-includes/class-wp-hook.php(323): WP_Hook->apply_filters('', Array) #2 /customers/f/9/9/simzone.net/httpd.www/HQ/wp-includes/plugin.php(515): WP_Hook->do_action(Array) #3 /customers/f/9/9/simzone.net/httpd.www/HQ/wp-includes/class-wp-query.php(1681): do_action_ref_array('pre_get_posts', Array) #4 /customers/f/9/9/simzone.net/httpd.www/HQ/wp-includes/class-wp-query.php(3238): WP_Query->get_posts() #5 /customers/f/9/9/simzone.net/httpd.www/HQ/wp-includes/class-wp.php(617): WP_Query->query(Array) #6 /customers/f/9/9/simzone.net/httpd.www/HQ/wp-includes/class-wp.php(735): WP->query_posts() #7 /customers/f/9/9/simzone.net/httpd.www/HQ/wp-includes/functions in /customers/f/9/9/simzone.net/httpd.www/HQ/wp-content/plugins/bbpress/includes/forums/functions.php on line 1800' adjusted function:function bbp_pre_get_posts_normalize_forum_visibility( $posts_query = null ) {
// Bail if all forums are explicitly allowed
if ( true === apply_filters( ‘bbp_include_all_forums’, false, $posts_query ) ) {
return;
}// Bail if $posts_query is not an object or of incorrect class
if ( !is_object( $posts_query ) || !is_a( $posts_query, ‘WP_Query’ ) ) {
return;
}// Get query post types array .
$post_types = (array) $posts_query->get( ‘post_type’ );// Forums
if ( bbp_get_forum_post_type() === implode( ”, $post_types ) ) {// Prevent accidental wp-admin post_row override
if ( is_admin() && isset( $_REQUEST[‘post_status’] ) ) {
return;
}/** Default ***********************************************************/
// Get any existing post status
$post_stati = $posts_query->get( ‘post_status’ );// Default to public status
if ( empty( $post_stati ) ) {
$post_stati = bbp_get_public_status_id();
# $post_stati[] = bbp_get_public_status_id();// Split the status string
} elseif ( is_string( $post_stati ) ) {
$post_stati = explode( ‘,’, $post_stati );
}/** Private ***********************************************************/
// Remove bbp_get_private_status_id() if user is not capable
if ( ! current_user_can( ‘read_private_forums’ ) ) {
$key = array_search( bbp_get_private_status_id(), $post_stati );
if ( !empty( $key ) ) {
unset( $post_stati[$key] );
}// …or add it if they are
} else {
$post_stati = bbp_get_private_status_id();
#$post_stati[] = bbp_get_private_status_id();
}/** Hidden ************************************************************/
// Remove bbp_get_hidden_status_id() if user is not capable
if ( ! current_user_can( ‘read_hidden_forums’ ) ) {
$key = array_search( bbp_get_hidden_status_id(), $post_stati );
if ( !empty( $key ) ) {
unset( $post_stati[$key] );
}// …or add it if they are
} else {
$post_stati = bbp_get_hidden_status_id();
#$post_stati[] = bbp_get_hidden_status_id();
}// Add the statuses
$posts_query->set( ‘post_status’, array_unique( array_filter( $post_stati ) ) );
}// Topics Or Replies
if ( array_intersect( array( bbp_get_topic_post_type(), bbp_get_reply_post_type() ), $post_types ) ) {// Get forums to exclude
$forum_ids = bbp_exclude_forum_ids( ‘meta_query’ );// Bail if no forums to exclude
if ( ! array_filter( $forum_ids ) ) {
return;
}// Get any existing meta queries
$meta_query = $posts_query->get( ‘meta_query’ );// Add our meta query to existing
$meta_query[] = $forum_ids;// Set the meta_query var
$posts_query->set( ‘meta_query’, $meta_query );
}
}/**
* Returns the forum’s topic ids
*
* Only topics with published and closed statuses are returned
*
* @since bbPress (r2908)
*
* @param int $forum_id Forum id
* @uses bbp_get_topic_post_type() To get the topic post type
* @uses bbp_get_public_child_ids() To get the topic ids
* @uses apply_filters() Calls ‘bbp_forum_query_topic_ids’ with the topic ids
* and forum id
*/’Hi all,
Got something I am stumpeped on. I have a site, with a child theme and I have installed BBPress.
Created the bbpress.php template page. All pages on the forum work fine apart from the view topic page. It just outputs the content of BBpress with no theme code.
If I switch to a parent theme, it ll works OK, it’s only happening on a child theme
Any ideas ?
Hi,
I’m working on WP 4.7.1 and BBPress Version 2.5.12. I would like to allow Participants to Trash there own Topics and Posts. I found the following code here in the Forum and added it to my functions.php. When i register as Participant and create a new Topic I have only EDIT / REPLY available, but not TRASH.
/*Customize the BBPress roles to allow Participants to trash topics add_filter( 'bbp_get_caps_for_role', 'ST_add_role_caps_filter', 10, 2 ); function ST_add_role_caps_filter( $caps, $role ){ // Only filter for roles we are interested in! if( $role == 'bbp_participant' ) { $new_caps = array( // Primary caps 'spectate' => true, 'participate' => true, 'moderate' => false, 'throttle' => false, 'view_trash' => false, // Forum caps 'publish_forums' => false, 'edit_forums' => false, 'edit_others_forums' => false, 'delete_forums' => false, 'delete_others_forums' => false, 'read_private_forums' => false, 'read_hidden_forums' => false, // Topic caps 'publish_topics' => true, 'edit_topics' => true, 'edit_others_topics' => false, 'delete_topics' => true, 'delete_others_topics' => false, 'read_private_topics' => false, // Reply caps 'publish_replies' => true, 'edit_replies' => true, 'edit_others_replies' => false, 'delete_replies' => true, 'delete_others_replies' => false, 'read_private_replies' => false, // Topic tag caps 'manage_topic_tags' => false, 'edit_topic_tags' => false, 'delete_topic_tags' => false, 'assign_topic_tags' => true, ); } return $new_caps; } /*Fixes an issue that only allows mods to trash topics. bbpress.trac.wordpress.org/changeset/5852 bbpress.trac.wordpress.org/ticket/2685*/ add_filter( 'bbp_map_reply_meta_caps', 'ST_tweak_trash_meta_caps', 11, 4 ); add_filter( 'bbp_map_topic_meta_caps', 'ST_tweak_trash_meta_caps', 11, 4 ); // tweak for replies function ST_tweak_trash_meta_caps( $caps, $cap, $user_id, $args ){ // apply only to delete_reply and delete_topic if ( $cap == "delete_reply" || $cap == "delete_topic" ){ // Get the post $_post = get_post( $args[0] ); if ( !empty( $_post ) ) { // Get caps for post type object $post_type = get_post_type_object( $_post->post_type ); $caps = array(); // Add 'do_not_allow' cap if user is spam or deleted if ( bbp_is_user_inactive( $user_id ) ) { $caps[] = 'do_not_allow'; // Moderators can always edit forum content } elseif ( user_can( $user_id, 'moderate' ) ) { $caps[] = 'moderate'; // User is author so allow edit if not in admin } elseif ( ! is_admin() && ( (int) $user_id === (int) $_post->post_author ) ) { $caps[] = $post_type->cap->delete_posts; // Unknown so map to delete_others_posts } else { $caps[] = $post_type->cap->delete_others_posts; } } } // return the capabilities return $caps; }Can someone help me with this, or has a other code snippet what is working?
Thx
Sally