• Resolved varma

    (@evildon)


    Hi

    Another question in implementing myCred with bbpress.

    Can i know if there any method to restrict myCred point system based on forum. ( or say i need the myCred point system to work on certain types of forums i make)

    For example – not providing points on new topics and replies to users when posting in a certain forum.

    It’s because i got a support/Question forum where its unnecessary for giving points to the users who are posting there.

    Hope that can be done.

    Regards

    https://wordpress.org/plugins/mycred/

Viewing 9 replies - 1 through 9 (of 9 total)
  • Plugin Author myCred

    (@designbymerovingi)

    Hi.

    There is no built-in way to restrict points for specific forums.
    You could use the mycred_add filter which fires before points are awarded / deducted from a user and enforce this though.

    Here is one example:

    Paste this code snippet into your themes functions.php file then go to your Forums and edit the forum that you want to restrict points in. Add a custom field called “NO_MYCRED_POINTS” and set the value to ‘yes’. Once you have saved you should gain no more points for any action taken in this forum.

    Thread Starter varma

    (@evildon)

    BUT in bbpress forum section there is no custom field option to set ? or i’m missing something.

    Also is there any way to add the Daily Limits to the Topic section too..

    Plugin Author myCred

    (@designbymerovingi)

    Add this to your code:

    add_filter( 'bbp_register_forum_post_type', 'mycred_add_custom_field_to_forums' );
    function mycred_add_custom_field_to_forums( $attr ) {
    	$attr['supports'][] = 'custom-fields';
    	return $attr;
    }

    It will add support for custom-fields in forums. It goes in your themes functions.php file.

    Thread Starter varma

    (@evildon)

    Superb, That worked out pretty well.

    Test on on bbpress forums and its 100% working.

    Also is there any way to add the Daily Limits to the Topic section too?

    Plugin Author myCred

    (@designbymerovingi)

    Are you looking to set a maximum number of topics each day that gives points?

    Thread Starter varma

    (@evildon)

    Yes daily limit for a user in getting points by posting new topics. ( or the maximum number of topics each day that gives points for a single user)

    Thread Starter varma

    (@evildon)

    Any update on this?

    Plugin Author myCred

    (@designbymerovingi)

    Hi.

    First of all, apologies for the delay in my reply.

    You would need to hook into myCRED before points are awarded and enforce a daily limit. If a user exceeds or reaches this limit then you would just decline further point gains.

    Example:

    add_filter( 'mycred_add', 'mycred_enforce_daily_bbp_topic_limit', 99, 3 );
    function mycred_enforce_daily_bbp_topic_limit( $reply, $request, $mycred ) {
    	// If already declined or this is not points for new topics, bail
    	if ( $reply === false || $request['ref'] != 'new_forum_topic' ) return $reply;
    
    	// Get the details we need
    	$user_id = absint( $request['user_id'] );
    	$topic_id = absint( $request['ref_id'] );
    	$now = date_i18n( 'U' );
    	$a_day_ago = date_i18n( 'U', strtotime( '-24 hours' ) );
    
    	// The daily limit
    	$daily_limit = 5;
    
    	// Run Query
    	global $wpdb;
    
    	// Count the number of log entries this
    	// user has for gaining points for new forum
    	// topics between two timestamps: now and
    	// 24 hours ago.
    	$count = $wpdb->get_var( $wpdb->prepare( "
    	SELECT COUNT( * )
    	FROM {$mycred->log_table}
    	WHERE ref = %s
    		AND user_id = %d
    		AND time BETWEEN %d AND %d;", '', $user_id, $a_day_ago, $now ) );
    
    	// Now we just compare the result against the limit
    	if ( $count >= $daily_limit )
    		return false;
    
    	return true;
    }

    If used, the above code goes into your themes functions.php file.

    Thread Starter varma

    (@evildon)

    Really thanks that will do… 100%

    Will test it out and let you know soon…

Viewing 9 replies - 1 through 9 (of 9 total)
  • The topic ‘Restricting myCred to individual Forums in bbPress’ is closed to new replies.