LLMS_Student::delete_enrollment( int $product_id, string $trigger = 'any' )

Delete a student enrollment.


Description Description

See also See also


Top ↑

Parameters Parameters

$product_id

(int) (Required) WP Post ID of the course or membership.

$trigger

(string) (Optional) Only delete the student's enrollment if the original enrollment trigger matches the submitted value "any" will remove regardless of enrollment trigger. Default "any".

Default value: 'any'


Top ↑

Return Return

(boolean) Whether or not the enrollment records have been succesfully removed.


Top ↑

Source Source

File: includes/models/model.llms.student.php

	public function delete_enrollment( $product_id, $trigger = 'any' ) {

		// assume we can't delete the enrollment
		$delete = false;

		// if trigger is "any" we'll just delete the enrollment regardless of the trigger.
		if ( 'any' === $trigger ) {

			$delete = true;

		} // End if().
		else {

			$enrollment_trigger = $this->get_enrollment_trigger( $product_id );

			// no enrollment trigger exists b/c pre 3.0.0 enrollment, delete the user's enrollment.
			if ( ! $enrollment_trigger ) {

				$delete = apply_filters( 'lifterlms_legacy_delete_enrollment_action', true );

			} // End if().
			elseif ( $enrollment_trigger === $trigger ) {

				$delete = true;

			}
		}

		// delete if we can
		if ( $delete ) {

			// delete enrollment for the product
			if ( $this->delete_enrollment_postmeta( $product_id ) ) {

				// clean the cache
				$this->cache_delete( sprintf( 'enrollment_status_%d', $product_id ) );
				$this->cache_delete( sprintf( 'date_enrolled_%d', $product_id ) );
				$this->cache_delete( sprintf( 'date_updated_%d', $product_id ) );

				// trigger action
				do_action( 'llms_user_enrollment_deleted', $this->get_id(), $product_id );

				return true;

			}
		}

		// return false if we didn't remove anything
		return false;

	}

Top ↑

Changelog Changelog

Changelog
Version Description
3.33.0 Introduced.


Top ↑

User Contributed Notes User Contributed Notes

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





Permalink: