LLMS_Person::get_user_achievements( $count = 1000, int $user_id )

Get user postmeta achievements


Description Description


Parameters Parameters

$user_id

(int) (Required) user id


Top ↑

Return Return

(array) associative array of users achievement data


Top ↑

Source Source

File: includes/class.llms.person.php

	public function get_user_achievements( $count = 1000, $user_id = 0 ) {
		global $wpdb;

		$user_id = ( ! $user_id ) ? get_current_user_id() : $user_id;

		$results = $wpdb->get_results( $wpdb->prepare( 'SELECT * FROM ' . $wpdb->prefix . 'lifterlms_user_postmeta WHERE user_id = %s and meta_key = "%s" ORDER BY updated_date DESC LIMIT %d', $user_id, '_achievement_earned', $count ) );

		$achievements = array();

		foreach ( $results as $key => $val ) {

			$achievement = array();

			$meta = get_post_meta( $val->meta_value );
			$post = get_post( $val->meta_value );

			$achievement['title'] = $meta['_llms_achievement_title'][0];
			$achievement['content'] = $post->post_content;

			$image_id = $meta['_llms_achievement_image'][0];

			$achievement['image'] = wp_get_attachment_image_src( $image_id, 'achievement' );

			if ( ! $achievement['image'] ) {
				$achievement['image'] = apply_filters( 'lifterlms_placeholder_img_src', LLMS()->plugin_url() . '/assets/images/optional_achievement.png' );
			} else {
				$achievement['image'] = $achievement['image'][0];
			}

			$achievement['date'] = date( get_option( 'date_format' ), strtotime( $val->updated_date ) );

			$achievements[] = $achievement;

		}

		return apply_filters( 'lifterlms_user_achievements', $achievements );

	}


Top ↑

User Contributed Notes User Contributed Notes

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





Permalink: