LLMS_Achievements::get_achievements_by_post( array|int $post_ids, bool $include_children = true )

Get a list of achievement Achievement Template IDs for a given post


Parameters Parameters

$post_ids

(array|int) (Required) Post IDs or single post ID to look for achievements by.

$include_children

(bool) (Optional) If true, will include course children (sections, lessons, and quizzes).

Default value: true


Top ↑

Return Return

(array)


Top ↑

Source Source

File: includes/class.llms.achievements.php

	 *
	 * @since 3.24.0
	 * @since 5.3.3 Set the query limit to 500.
	 *
	 * @param array|int $post_ids         Post IDs or single post ID to look for achievements by.
	 * @param bool      $include_children If true, will include course children (sections, lessons, and quizzes).
	 * @return array
	 */
	public function get_achievements_by_post( $post_ids, $include_children = true ) {

		if ( ! is_array( $post_ids ) ) {
			$post_ids = array( $post_ids );
		}

		$original_post_ids = $post_ids;

		if ( $include_children ) {

			foreach ( $post_ids as $post_id ) {
				if ( 'course' === get_post_type( $post_id ) ) {
					$course   = llms_get_post( $post_id );
					$post_ids = array_merge(
						$post_ids,
						$course->get_sections( 'ids' ),
						$course->get_lessons( 'ids' ),
						$course->get_quizzes()
					);
				}
			}
		}

		/**
		 * Filters the query args to retrieve the achievements by post.
		 *
		 * @since 5.3.3
		 *
		 * @param array     $args              The query args to retrieve the achievements by post.
		 * @param array|int $post_ids          Post IDs or single post ID to look for achievements by.
		 * @param bool      $include_children  If true, will include course children (sections, lessons, and quizzes).
		 */
		$query_args = apply_filters(
			'llms_achievements_by_post_query_args',
			array(
				'post_type'      => 'llms_engagement',
				'meta_query'     => array(
					array(
						'key'   => '_llms_engagement_type',


Top ↑

Changelog Changelog

Changelog
Version Description
3.24.0 Introduced.

Top ↑

User Contributed Notes User Contributed Notes

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