示例#1
0
/**
 * Returns a user's topic count.
 *
 * @since  1.0.0
 * @access public
 * @param  int     $user_id
 * @return int
 */
function mb_get_user_topic_count($user_id = 0)
{
    $user_id = mb_get_user_id($user_id);
    $count = get_user_meta($user_id, mb_get_user_topic_count_meta_key(), true);
    if ('' === $count) {
        $count = mb_set_user_topic_count($user_id);
    }
    $count = !empty($count) ? absint($count) : 0;
    return apply_filters('mb_get_user_topic_count', $count, $user_id);
}
示例#2
0
/**
 * Resets topic data.
 *
 * @since  1.0.0
 * @access public
 * @param  object|int  $post
 * @return array
 */
function mb_reset_topic_data($post, $reset_latest = false)
{
    $post = is_object($post) ? $post : get_post($post);
    $forum_id = mb_get_topic_forum_id($post->ID);
    $forum_last_topic = mb_get_forum_last_topic_id($forum_id);
    /* Reset forum topic count. */
    mb_reset_forum_topic_count($forum_id);
    /* Reset forum reply count. */
    mb_reset_forum_reply_count($forum_id);
    /* If this is the last topic, reset forum latest data. */
    if ($post->ID === absint($forum_last_topic) || true === $reset_latest) {
        mb_reset_forum_latest($forum_id);
    }
    /* Reset user topic count. */
    mb_set_user_topic_count($post->post_author);
}