/**
 * How many times this Achievement has been unlocked?
 *
 * @since 2.0
 * @param int $achievement_id Achievement ID
 * @return int
 */
function dpa_get_achievement_unlocked_count($achievement_id = 0)
{
    if (!$achievement_id) {
        $achievement_id = dpa_get_achievement_id();
    }
    $achievement_meta = dpa_get_achievements_meta();
    if (isset($achievement_meta[$achievement_id]) && $achievement_meta[$achievement_id]['no_of_unlocks']) {
        return apply_filters('dpa_get_achievement_unlocked_count', (int) $achievement_meta[$achievement_id]['no_of_unlocks']);
    } else {
        return apply_filters('dpa_get_achievement_unlocked_count', 0);
    }
}
Example #2
0
/**
 * When someone unlocks an Achievement, create/update the relevant metas.
 *
 * @param int $achievement_id
 * @param int $user_id
 * @since 2.0
 */
function dpa_achievement_unlocked_update_meta($achievement_id, $user_id)
{
    $meta = dpa_get_achievements_meta();
    $meta[$achievement_id]['no_of_unlocks'] += apply_filters('dpa_achievement_unlocked_update_meta', 1);
    update_site_option('achievements_meta', $meta);
    nxt_cache_delete('dpa_achievements_meta', 'dpa');
    dpa_delete_highscore_cache();
}