= $compare; case 'is_lower': return $points <= $compare; case 'is_equal': default: return $points === $compare; } } /** * Check if current user meets rank visitor condition. * * @param array $condition Array of visitor condition options. * * @return bool */ public static function check_rank_visitor_condition( $condition ) { $condition_rank = gamipress_get_rank_priority( (int) $condition['value'] ); $user_rank = gamipress_get_rank_priority( gamipress_get_user_rank( get_current_user_id(), gamipress_get_post_type( (int) $condition['value'] ) ) ); switch ( $condition['operator'] ) { case 'is_higher': return $user_rank >= $condition_rank; case 'is_lower': return $user_rank <= $condition_rank; case 'is_equal': default: return $user_rank === $condition_rank; } } /** * Check if current user meets achievement visitor condition. * * @param array $condition Array of visitor condition options. * * @return bool */ public static function check_achievement_visitor_condition( $condition ) { $achieved = gamipress_has_user_earned_achievement( (int) $condition['value'], get_current_user_id() ); if ( $condition['operator'] === 'is_not' ) { return ! $achieved; } return $achieved; } }