bbp_bump_forum_reply_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


Top ↑

Return Return

(int) Forum topic count


Top ↑

Source Source

File: includes/forums/functions.php

function bbp_bump_forum_reply_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_reply_count_hidden( $forum_id, false, true );
	$total_reply_count = bbp_get_forum_reply_count_hidden( $forum_id, true,  true );
	$difference        = (int) $difference;

	// Update this forum id
	update_post_meta( $forum_id, '_bbp_reply_count_hidden',       (int) ( $reply_count       + $difference ) );
	update_post_meta( $forum_id, '_bbp_total_reply_count_hidden', (int) ( $total_reply_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 reply count when an ancestor is not a category.
				if ( ! bbp_is_forum_category( $parent_forum_id ) ) {

					$parent_reply_count = bbp_get_forum_reply_count_hidden( $parent_forum_id, false, true );
					update_post_meta( $parent_forum_id, '_bbp_reply_count_hidden', (int) ( $parent_reply_count + $difference ) );
				}

				// Update the total reply count.
				$parent_total_reply_count = bbp_get_forum_reply_count_hidden( $parent_forum_id, true,  true );
				update_post_meta( $parent_forum_id, '_bbp_total_reply_count_hidden', (int) ( $parent_total_reply_count + $difference ) );
			}
		}
	}

	$forum_reply_count = (int) ( $total_reply_count + $difference );

	// Filter & return
	return (int) apply_filters( 'bbp_bump_forum_reply_count_hidden', $forum_reply_count, $forum_id, $difference, $update_ancestors );
}

Top ↑

Changelog Changelog

Changelog
Version Description
2.6.0 Introduced.

Top ↑

User Contributed Notes User Contributed Notes

You must log in before being able to contribute a note or feedback.