Robin W (@robin-w)

Forum Replies Created

Viewing 25 replies - 9,226 through 9,250 (of 14,141 total)
  • @robin-w

    Moderator

    so with the child theme it displays wrongly, but if you go back to the main theme it is ok?

    @robin-w

    Moderator

    great – glad you are almost working.

    @robin-w

    Moderator

    as far as I can see the only functions in bbpress that mail have a check on that parameter.

    However if you are also using buddypress or @mentions, then they may well do stuff as well.

    @robin-w

    Moderator

    without seeing the site, this is like me saying to you ‘my car won’t start – what is wrong, but no you can’t see it”!

    suggest you try as a test removing any functions in your child theme functions file to see if one is upsetting it, and if so put back one at a time.

    If that doesn’t work, do the same for style.css – ie take out all styling and re-introduce.

    If neither of those work, then suggest you look to your theme supplier or docs for anything you need to do in a child theme to make it compatible with the parent.

    @robin-w

    Moderator

    dashboard>settings>forums and turn off subscriptions should do it.

    @robin-w

    Moderator

    ok, try this css.

    .page-one-column .panel-content .wrap {
    max-width: 1500px;
    }

    .wrap {
    max-width: 1500px;
    }

    it should make your entire site ‘full width’ and the you can cahneg it to be as wide as you want by changing the 1500 number.

    @robin-w

    Moderator

    can you give me the function you are currently using to produce this button.

    In reply to: bbp_reply_admin_links

    @robin-w

    Moderator
    In reply to: bbp_reply_admin_links

    @robin-w

    Moderator

    sorry, this was not meant to be a solution, but rather to point you to then code

    'before' => '<span class="bbp-admin-links">',
    			'after'  => '</span>',

    is what it currently does, so if you wanted to take out the span entirely you would do

    function theredeclipse_change ($args) {
    	$args['before'] = '' ;
    	$args['after']   = '' ;
    return $args ;
    }
    In reply to: How make full width

    @robin-w

    Moderator
    In reply to: bbp_reply_admin_links

    @robin-w

    Moderator

    hmmm … if you want each link to be a button, I can point you to some code, but you’ll need to figure it out.

    so

    so for replies, the function is in

    bbpress/includes/replies/template.php

    which I think you found.

    function bbp_get_reply_admin_links( $args = array() ) {
    
    		// Parse arguments against default values
    		$r = bbp_parse_args( $args, array(
    			'id'     => 0,
    			'before' => '<span class="bbp-admin-links">',
    			'after'  => '</span>',
    			'sep'    => ' | ',
    			'links'  => array()
    		), 'get_reply_admin_links' );
    
    		$r['id'] = bbp_get_reply_id( (int) $r['id'] );
    
    		// If post is a topic, return the topic admin links instead
    		if ( bbp_is_topic( $r['id'] ) ) {
    			return bbp_get_topic_admin_links( $args );
    		}
    
    		// If post is not a reply, return
    		if ( !bbp_is_reply( $r['id'] ) ) {
    			return;
    		}
    
    		// If topic is trashed, do not show admin links
    		if ( bbp_is_topic_trash( bbp_get_reply_topic_id( $r['id'] ) ) ) {
    			return;
    		}
    
    		// If no links were passed, default to the standard
    		if ( empty( $r['links'] ) ) {
    			$r['links'] = apply_filters( 'bbp_reply_admin_links', array(
    				'edit'  => bbp_get_reply_edit_link ( $r ),
    				'move'  => bbp_get_reply_move_link ( $r ),
    				'split' => bbp_get_topic_split_link( $r ),
    				'trash' => bbp_get_reply_trash_link( $r ),
    				'spam'  => bbp_get_reply_spam_link ( $r ),
    				'reply' => bbp_get_reply_to_link   ( $r )
    			), $r['id'] );
    		}
    
    		// See if links need to be unset
    		$reply_status = bbp_get_reply_status( $r['id'] );
    		if ( in_array( $reply_status, array( bbp_get_spam_status_id(), bbp_get_trash_status_id() ) ) ) {
    
    			// Spam link shouldn't be visible on trashed topics
    			if ( bbp_get_trash_status_id() === $reply_status ) {
    				unset( $r['links']['spam'] );
    
    			// Trash link shouldn't be visible on spam topics
    			} elseif ( bbp_get_spam_status_id() === $reply_status ) {
    				unset( $r['links']['trash'] );
    			}
    		}
    
    		// Process the admin links
    		$links  = implode( $r['sep'], array_filter( $r['links'] ) );
    		$retval = $r['before'] . $links . $r['after'];
    
    		return apply_filters( 'bbp_get_reply_admin_links', $retval, $r, $args );
    	}

    which you can filter at the end, but how would depend on your skills.

    the span part can be simply changed by putting a filter into your child theme’s function file

    eg

    add_filter ('bbp_before_get_reply_admin_links_parse_args', 'theredeclipse_change' ) ;
    
    function theredeclipse_change ($args) {
    	$args['before'] = '<span class="bbp-admin-links">' ;
    	$args['after']   = '</span>' ;
    return $args ;
    }

    and just change whatever you want the span part to look like, or just remove it.

    if you want to style each link, then you’ll see that there is a call to each separate function

    'edit'  => bbp_get_reply_edit_link ( $r ),
    				'move'  => bbp_get_reply_move_link ( $r ),
    				'split' => bbp_get_topic_split_link( $r ),
    				'trash' => bbp_get_reply_trash_link( $r ),
    				'spam'  => bbp_get_reply_spam_link ( $r ),
    				'reply' => bbp_get_reply_to_link   ( $r )
    

    so to do it in functions, you’d need to go to each one.

    you’ll find these in the same file above

    since the class is hard coded, you could add a final filter with a preg_replace

    eg

    add_filter( 'bbp_get_reply_move_link' , 'theredeclipse_move', 10 , 2 ) ;
    
    function theredeclipse_move ($retval, $r) {
    $retval =  preg_replace(whatever args you need, with, $retval);
    return $retval ;
    }

    so $retval will hold the line of code including the class.

    so google preg-replace and see if you can get it working !!

    @robin-w

    Moderator

    do you know how to put functions into your theme’s function file?

    @robin-w

    Moderator

    because bbpress uses the wordpress login, you can’t have two logins on the same domain.

    So your best bet would be to say to people

    use the ‘world’ login for everyone, but individuals swap to an individual login and only use that once they have been given an individual that is all they use.

    In reply to: bbp_reply_admin_links

    @robin-w

    Moderator

    not quite sure what you are asking.

    If you just want to style, then you would use css rather than php. If you want to change what they do, then you would use php

    Can you come back and explain with a specific example what you want to do.

    eg I want x to look like this, or do that

    @robin-w

    Moderator

    you could use my private groups plugin.

    https://wordpress.org/plugins/bbp-private-groups/

    you would create two groups

    1. called say all
    2. called say individuals

    you can then put all the forums as members of the individual group, but no forums would have the world group.

    Then all individual users would be added to the individuals group.

    Then anyone logging in with the world username would not see any forums, but when logging in as individuals they would see the forums.

    @robin-w

    Moderator

    that’s not a bbpress page, looks like it might be a version 1 site

    @robin-w

    Moderator

    can you paste the exact code you are using into here, and I’ll check it

    @robin-w

    Moderator

    follow this link with a description on how to do this

    Custom Capabilities

    @robin-w

    Moderator

    no problem – was a fun challenge once I had started !!

    In reply to: Forum descriptions

    @robin-w

    Moderator

    should be fixed in 3.4.9 just released

    In reply to: Forum topic issue

    @robin-w

    Moderator

    it may be a conflict ot it could be a theme or plugin issue

    Plugins

    Deactivate all but bbpress and see if this fixes. if it does, re-enable one at a time to see which is causing the error.

    Themes

    If plugins don’t pinpoint the problem, as a test switch to a default theme such as twentyfifteen, and see if this fixes.

    Then come back

    @robin-w

    Moderator

    ok, this code allows participabts to

    trash their own replies and
    trash their own topics where there have been no replies, once a reply has been posted then they can no longer delete.

    it does display slightly weirdly when you delete a topic, but it is the best you are going to get from me.

    give it a try and see if you still have the admin problems

     /*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_get_participant_role() ) {
    			
    			$newcaps = array(
    
    				// Primary caps
    				'spectate'              => true,
    				'participate'           => true,
    
    				// Forum caps
    				'read_private_forums'   => true,
    
    				// Topic caps
    				'publish_topics'        => true,
    				'edit_topics'           => true,
    				'delete_topics'         => true,
    				'view_trash'			=> true,
    				
    
    				// Reply caps
    				'publish_replies'       => true,
    				'edit_replies'          => true,
    				'delete_replies'        => true,
    				
    				
    				// Topic tag caps
    				'assign_topic_tags'     => true,
    			);
    	
    	return $newcaps;
    	}
    	
        return $caps;
    }
    
    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 );
    
    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 =  $_post->post_type ;
    			
    			
    			// 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 particiapte so allow delete 
                } elseif ( user_can( $user_id, 'participate' ) && ( (int) $user_id === (int) $_post->post_author ) ) {
                 
    			//allow any reply to be deleted
    			if ($post_type == bbp_get_reply_post_type()) $caps  = array('delete_replies') ;
    			
    			//only allow topic delete if there are no replies
    			if ($post_type == bbp_get_topic_post_type()) {
    				$reply_count = bbp_get_topic_reply_count();
    
    				if ( $reply_count == 0)  $caps  = array('delete_topics') ;
    			}
    			
    			// Unknown so do not allow
    			} else {
    				$caps[] = 'do_not_allow';
    			}
    		}
    		
    	}
    	
    	// return the capabilities
    	return $caps;
    	
    }

    @robin-w

    Moderator

    deleting replies will redirect to the topic that still exists, so that will work!

    deleting topics redirects to the topic which no longer exists, so gets a 404 error which your site directs to the homepage – not sure how to fix that. A moderator can still view the topic, so that is ok. might be able to do some code with a readtopics capability so that an author can view his own closed topics.

    on admins – Sorry I still don’t quite understand.

    1. so I have a browser tab logged into admin, and showing the dashboard. I then open another tab in the same browser and paste in a forums link and it goes to the homepage – yes ?
    2. if so – I can’t replicate
    3. Why do you need to do this?

    @robin-w

    Moderator

    I think you have done so much on the current site that it is impossible to say what is wrong.

    I think you need to create a totally fresh site, and start again with just a standard theme (say twentyfifteen) and bbpress.

    Then build form there.

    In reply to: Forum Root Issue

    @robin-w

    Moderator

    @ellencrombie – did this work?

Viewing 25 replies - 9,226 through 9,250 (of 14,141 total)