/** * Resets a specific forum's data. * * @since 1.0.0 * @access public * @param object|int $post * @return void */ function mb_reset_forum_data($post) { /* Get the forum ID. */ $forum_id = is_object($post) ? mb_get_forum_id(get_post($post)->ID) : mb_get_forum_id($post); /* Reset subforum count. */ mb_reset_forum_subforum_count($forum_id); /* Reset forum topic count. */ mb_reset_forum_topic_count($forum_id); /* Reset forum reply count. */ mb_reset_forum_reply_count($forum_id); /* Reset forum latest. */ mb_reset_forum_latest($forum_id); }
function mb_get_forum_subforum_count($forum_id = 0) { $forum_id = mb_get_forum_id($forum_id); $count = $forum_id ? get_post_meta($forum_id, mb_get_forum_subforum_count_meta_key(), true) : 0; if ('' === $count) { $count = mb_reset_forum_subforum_count($forum_id); } return apply_filters('mb_get_forum_subforum_count', absint($count), $forum_id); }