LLMS_Engagements::maybe_trigger_engagement()

Handles all actions that could potentially trigger an engagement


Description Description

It will fire or schedule the actions after gathering all necessary data.


Top ↑

Return Return

(void)


Top ↑

Source Source

File: includes/class.llms.engagements.php

	public function maybe_trigger_engagement() {

		// Parse incoming hook data.
		$hook = $this->parse_hook( current_filter(), func_get_args() );

		// We need a user and a trigger to proceed, related_post is optional though.
		if ( ! $hook['user_id'] || ! $hook['trigger_type'] ) {
			return;
		}

		// Gather triggerable engagements matching the supplied criteria.
		$engagements = $this->get_engagements( $hook['trigger_type'], $hook['related_post_id'] );

		// Loop through the retrieved engagements and trigger them.
		foreach ( $engagements as $engagement ) {

			$handler = $this->parse_engagement( $engagement, $hook );
			$this->trigger_engagement( $handler, $engagement->delay );

		}

	}


Top ↑

Changelog Changelog

Changelog
Version Description
6.0.0 Major refactor to reduce code complexity.
3.39.0 Treat also llms_rest_student_registered action.
3.11.0 Unknown.
2.3.0 Introduced.

Top ↑

User Contributed Notes User Contributed Notes

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