bbp_bump_forum_topic_count_hidden( int $forum_id, int $difference = 1, bool $update_ancestors = true )
Bump the total topic count of a forum
Description Description
Parameters Parameters
- $forum_id
-
(Optional) Forum id.
- $difference
-
(Optional) Default 1
Default value: 1
- $update_ancestors
-
(Optional) Default true
Default value: true
Return Return
(int) Forum topic count
Source Source
File: includes/forums/functions.php
function bbp_bump_forum_topic_count_hidden( $forum_id = 0, $difference = 1, $update_ancestors = true ) { // Bail if no bump if ( empty( $difference ) ) { return false; } // Get some counts $forum_id = bbp_get_forum_id( $forum_id ); $reply_count = bbp_get_forum_topic_count_hidden( $forum_id, false, true ); $total_topic_count = bbp_get_forum_topic_count_hidden( $forum_id, true, true ); $difference = (int) $difference; // Update this forum id update_post_meta( $forum_id, '_bbp_topic_count_hidden', (int) ( $reply_count + $difference ) ); update_post_meta( $forum_id, '_bbp_total_topic_count_hidden', (int) ( $total_topic_count + $difference ) ); // Check for ancestors if ( true === $update_ancestors ) { // Get post ancestors $forum = get_post( $forum_id ); $ancestors = get_post_ancestors( $forum ); // If has ancestors, loop through them... if ( ! empty( $ancestors ) ) { foreach ( (array) $ancestors as $parent_forum_id ) { // Only update topic count when an ancestor is not a category. if ( ! bbp_is_forum_category( $parent_forum_id ) ) { $parent_topic_count = bbp_get_forum_topic_count_hidden( $parent_forum_id, false, true ); update_post_meta( $parent_forum_id, '_bbp_topic_count_hidden', (int) ( $parent_topic_count + $difference ) ); } // Update the total topic count. $parent_total_topic_count = bbp_get_forum_topic_count_hidden( $parent_forum_id, true, true ); update_post_meta( $parent_forum_id, '_bbp_total_topic_count_hidden', (int) ( $parent_total_topic_count + $difference ) ); } } } $forum_topic_count = (int) ( $total_topic_count + $difference ); // Filter & return return (int) apply_filters( 'bbp_bump_forum_topic_count_hidden', $forum_topic_count, $forum_id, $difference, $update_ancestors ); }
Changelog Changelog
Version | Description |
---|---|
2.1.0 | Introduced. |