bbp_update_topic_voice_count( int $topic_id )
Adjust the total voice count of a topic
Description
Parameters
- $topic_id
-
(Optional) Topic id to update
Return
(int) Members count
Source
File: bp-forums/topics/functions.php
2716 2717 2718 2719 2720 2721 2722 2723 2724 2725 2726 2727 2728 2729 2730 2731 2732 2733 2734 2735 2736 2737 2738 | function bbp_update_topic_voice_count( $topic_id = 0 ) { global $wpdb ; // If it's a reply, then get the parent (topic id) if ( bbp_is_reply( $topic_id ) ) { $topic_id = bbp_get_reply_topic_id( $topic_id ); } elseif ( bbp_is_topic( $topic_id ) ) { $topic_id = bbp_get_topic_id( $topic_id ); } else { return ; } // Query the DB to get members in this topic $voices = $wpdb ->get_col( $wpdb ->prepare( "SELECT COUNT( DISTINCT post_author ) FROM {$wpdb->posts} WHERE ( post_parent = %d AND post_status = '%s' AND post_type = '%s' ) OR ( ID = %d AND post_type = '%s' );" , $topic_id , bbp_get_public_status_id(), bbp_get_reply_post_type(), $topic_id , bbp_get_topic_post_type() ) ); // If there's an error, make sure we have at least have 1 voice $voices = ( empty ( $voices ) || is_wp_error( $voices ) ) ? 1 : $voices [0]; // Update the voice count for this topic id update_post_meta( $topic_id , '_bbp_voice_count' , (int) $voices ); return apply_filters( 'bbp_update_topic_voice_count' , (int) $voices , $topic_id ); } |
Changelog
Version | Description |
---|---|
bbPress (r2567) | Introduced. |
Questions?
We're always happy to help with code or other questions you might have! Search our developer docs, contact support, or connect with our sales team.