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

468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
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.