bbp_bump_forum_topic_count( 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( $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 );
$topic_count = bbp_get_forum_topic_count( $forum_id, false, true );
$total_topic_count = bbp_get_forum_topic_count( $forum_id, true, true );
$difference = (int) $difference;
// Update this forum id
update_post_meta( $forum_id, '_bbp_topic_count', (int) ( $topic_count + $difference ) );
update_post_meta( $forum_id, '_bbp_total_topic_count', (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( $parent_forum_id, false, true );
update_post_meta( $parent_forum_id, '_bbp_topic_count', (int) ( $parent_topic_count + $difference ) );
}
// Update the total topic count.
$parent_total_topic_count = bbp_get_forum_topic_count( $parent_forum_id, true, true );
update_post_meta( $parent_forum_id, '_bbp_total_topic_count', (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', $forum_topic_count, $forum_id, $difference, $update_ancestors );
}
Changelog Changelog
| Version | Description |
|---|---|
| 2.1.0 | Introduced. |