LLMS_Events::should_track_client_events()
Determine if client side events from the current page should be tracked.
Return Return
(boolean)
Source Source
File: includes/class-llms-events.php
protected function should_track_client_events() {
$ret = false;
/**
* Filter the post types that should be tracked
*
* @since 3.36.0
* @since 3.36.1 Remove redundant check on `is_singular()` and `is_post_type_archive()`.
*
* @param string[]|string $post_types An array of post type names or a pre-defined setting as a string.
* "llms" uses all public LifterLMS and LifterLMS Add-on post types.
* "all" tracks everything.
*/
$post_types = apply_filters( 'llms_tracking_post_types', 'llms' );
if ( 'all' === $post_types ) {
$ret = true;
} elseif ( 'llms' === $post_types ) {
// Filter public post types to include LifterLMS public post types.
$post_types = array_keys( get_post_types( array( 'public' => true ) ) );
foreach ( $post_types as $key => $type ) {
if ( ! in_array( $type, array( 'course', 'lesson' ), true ) && 0 !== strpos( $type, 'llms_' ) ) {
unset( $post_types[ $key ] );
}
}
}
if ( ! is_array( $post_types ) ) {
$ret = false;
} elseif ( is_singular( $post_types ) ) {
$ret = true;
} elseif ( is_post_type_archive( $post_types ) ) {
$ret = true;
} elseif ( is_llms_account_page() || is_llms_checkout() ) {
$ret = true;
}
/**
* Filters whether or not the current page should track client-side events
*
* @since 3.36.0
*
* @param bool $ret Whether or not to track the current page.
* @param string[] $post_types Array of post types that should be tracked.
*/
return apply_filters( 'llms_tracking_should_track_client_events', $ret, $post_types );
}
Expand full source code Collapse full source code View on GitHub
Changelog Changelog
| Version | Description |
|---|---|
| 3.36.0 | Introduced. |