Cart Lift – Abandoned Cart Recovery for WooCommerce and EDD

Track abandoned carts and send automated, customizable abandoned cart recovery emails. Get more leads, reduce cart abandonment, and increase revenue.

v3.1.57RexThemeUpdated Added 1k+ installs96% rating
22
Score
669
Errors
769
Warnings
+0
Change

Category Scores

Security0
Repo83
Performance96
Maintainability0

Issues to Review

Prioritized issue groups from the latest Plugin Check scan

1,438 findings

Security

728

10 issue groups

Maintainability

650

10 issue groups

I18n

32

5 issue groups

ERRORSecurityOutput is not escapedAll output should be run through an escaping function (see the Security sections in the WordPress Developer Handbooks), found '"{$plugin_dir_url}/images/banner-images/independence-day-bg.webp"'.509
Category
Security
Occurrences
509
Severity
error

Sample message

All output should be run through an escaping function (see the Security sections in the WordPress Developer Handbooks), found '"{$plugin_dir_url}/images/banner-images/independence-day-bg.webp"'.

WARNINGMaintainabilityNon-prefixed global variableGlobal variables defined by a theme/plugin should start with the theme/plugin prefix. Found: "$Label_date_time".294
Category
Maintainability
Occurrences
294
Severity
warning

Sample message

Global variables defined by a theme/plugin should start with the theme/plugin prefix. Found: "$Label_date_time".

WARNINGMaintainabilityDirect QueryUse of a direct database call is discouraged.89
Category
Maintainability
Occurrences
89
Severity
warning

Sample message

Use of a direct database call is discouraged.

WARNINGMaintainabilityNo CachingDirect database call without caching detected. Consider using wp_cache_get() / wp_cache_set() or wp_cache_delete().86
Category
Maintainability
Occurrences
86
Severity
warning

Sample message

Direct database call without caching detected. Consider using wp_cache_get() / wp_cache_set() or wp_cache_delete().

WARNINGMaintainabilityNon-prefixed hook nameHook names invoked by a theme/plugin should start with the theme/plugin prefix. Found: "admin_enqueue_scripts".59
Category
Maintainability
Occurrences
59
Severity
warning

Sample message

Hook names invoked by a theme/plugin should start with the theme/plugin prefix. Found: "admin_enqueue_scripts".

WARNINGMaintainabilityNon-prefixed functionFunctions declared in the global namespace by a theme/plugin should start with the theme/plugin prefix. Found: "activate_cart_lift".58
Category
Maintainability
Occurrences
58
Severity
warning

Sample message

Functions declared in the global namespace by a theme/plugin should start with the theme/plugin prefix. Found: "activate_cart_lift".

ERRORSecurityUnsafe printing functionAll output should be run through an escaping function (like esc_html_e() or esc_attr_e()), found '_e'.44
Category
Security
Occurrences
44
Severity
error

Sample message

All output should be run through an escaping function (like esc_html_e() or esc_attr_e()), found '_e'.

WARNINGSecurityInterpolated SQL is not preparedUse placeholders and $wpdb->prepare(); found interpolated variable $cl_campaign_history_table at "SELECT * FROM $cl_email_table as e INNER JOIN $cl_campaign_history_table as h ON e.id = h.campaign_id WHERE h.session_id = %s"37
Category
Security
Occurrences
37
Severity
warning

Sample message

Use placeholders and $wpdb->prepare(); found interpolated variable $cl_campaign_history_table at "SELECT * FROM $cl_email_table as e INNER JOIN $cl_campaign_history_table as h ON e.id = h.campaign_id WHERE h.session_id = %s"

WARNINGSecurityMissing nonce verificationProcessing form data without nonce verification.37
Category
Security
Occurrences
37
Severity
warning

Sample message

Processing form data without nonce verification.

WARNINGSecurityRequest data is not unslashed$_COOKIE['cart_lift_recovered_cart'] not unslashed before sanitization. Use wp_unslash() or similar34
Category
Security
Occurrences
34
Severity
warning

Sample message

$_COOKIE['cart_lift_recovered_cart'] not unslashed before sanitization. Use wp_unslash() or similar

Show 15 more
ERRORMaintainabilityMissing direct file access protection28
Category
Maintainability
Occurrences
28
Severity
error

Sample message

PHP file should prevent direct access. Add a check like: if ( ! defined( 'ABSPATH' ) ) exit;

ERRORSecuritySQL query is not prepared20
Category
Security
Occurrences
20
Severity
error

Sample message

Use placeholders and $wpdb->prepare(); found $abandoned_sql

WARNINGSecurityNonce verification recommended20
Category
Security
Occurrences
20
Severity
warning

Sample message

Processing form data without nonce verification.

ERRORMaintainabilitydate date17
Category
Maintainability
Occurrences
17
Severity
error

Sample message

date() is affected by runtime timezone changes which can cause date/time to be incorrectly displayed. Use gmdate() instead.

WARNINGSecurityInput is not sanitized16
Category
Security
Occurrences
16
Severity
warning

Sample message

Detected usage of a non-sanitized input variable: $_COOKIE['cart_lift_recovered_cart']

ERRORI18nMissing Translators Comment9
Category
I18n
Occurrences
9
Severity
error

Sample message

A function call to __() with texts containing placeholders was found, but was not accompanied by a "translators:" comment on the line above to clarify the meaning of the placeholders.

ERRORSecurityDatabase parameter is not escaped8
Category
Security
Occurrences
8
Severity
error

Sample message

Unescaped parameter $abandoned_sql used in $wpdb->get_results()\n$abandoned_sql assigned unsafely at line 1219.

WARNINGMaintainabilityerror log error log8
Category
Maintainability
Occurrences
8
Severity
warning

Sample message

error_log() found. Debug code should not normally be used in production.

ERRORI18nMissing Arg Domain8
Category
I18n
Occurrences
8
Severity
error

Sample message

Missing $domain parameter in function call to __().

ERRORI18nText Domain Mismatch7
Category
I18n
Occurrences
7
Severity
error

Sample message

Mismatched text domain. Expected 'cart-lift' but got 'rex-product-feed'.

WARNINGMaintainabilityNo PHP code found6
Category
Maintainability
Occurrences
6
Severity
warning

Sample message

No PHP code was found in this file and short open tags are not allowed by this install of PHP. This file may be using short open tags but PHP does not allow them.

WARNINGMaintainabilityNot In Footer5
Category
Maintainability
Occurrences
5
Severity
warning

Sample message

In footer ($in_footer) is not set explicitly wp_enqueue_script; It is recommended to load scripts in the footer. Please set this value to `true` to load it in the footer, or explicitly `false` if it should be loaded in the header.

ERRORI18nNon Singular String Literal Domain4
Category
I18n
Occurrences
4
Severity
error

Sample message

The $domain parameter must be a single text string literal. Found: $this->text_domain

ERRORI18nNon Singular String Literal Text4
Category
I18n
Occurrences
4
Severity
error

Sample message

The $text parameter must be a single text string literal. Found: $button_text

WARNINGSecurityDatabase parameter is not escaped3
Category
Security
Occurrences
3
Severity
warning

Sample message

Unescaped parameter $cl_cart_table used in $wpdb->get_results()

External Connections

Potential connections found in static code analysis.

30 domains

Outbound calls

261

External assets

2

Incoming endpoints

17

Notable Domains

rextheme.com50 · outbound
php.net5 · outbound
actionscheduler.org4 · outbound
appsero.com4 · outbound
en.wikipedia.org4 · outbound
localise.biz4 · outbound

Platform / Reference Domains

w3.org144 · platform/reference
github.com12 · platform/reference
wordpress.org4 · platform/reference
core.trac.wordpress.org2 · platform/reference
gnu.org2 · platform/reference
opensource.org1 · platform/reference

External Asset Domains

google.com3 · asset + outbound

Incoming Endpoints

wp_ajax_nopriv_public

wp_ajax

wp_ajax_nopriv_cart_lift_create_contactpublic

wp_ajax

wp_ajax_nopriv_cart_lift_sales_notification_noticepublic

wp_ajax

wp_ajax_nopriv_cl_get_categoriespublic

wp_ajax

wp_ajax_nopriv_cl_get_productspublic

wp_ajax

wp_ajax_nopriv_cl_remove_gdpr_noticepublic

wp_ajax

Admin AJAX endpoints8
wp_ajax_cart_list_save_general_settingsauthenticated

wp_ajax

wp_ajax_appsero_refresh_license_authenticated

wp_ajax

wp_ajax_cart_lift_create_contactauthenticated

wp_ajax

wp_ajax_cart_lift_sales_notification_noticeauthenticated

wp_ajax

wp_ajax_cl_get_categoriesauthenticated

wp_ajax

wp_ajax_cl_get_productsauthenticated

wp_ajax

wp_ajax_cl_remove_gdpr_noticeauthenticated

wp_ajax

wp_ajax_cl_save_abandon_cart_dataauthenticated

wp_ajax

Score History

First score snapshot

v3.1.57

22

Latest

Findings
1,438
Errors
669
Warnings
769
Check
2.0.0

Relationship Map

Author, categories, issues, domains, and nearby plugins.

37 nodes

Related Plugins

EDD Auto Register

900 active installs

89
EDD Hide Download

600 active installs

65