Refer A Friend for WooCommerce by WPGens

Referral System for WooCommerce. Each customer has referral link that rewards them with a coupon after someone makes a purchase through their link

v1.3.6Goran87Updated Added 1k+ installs98% rating100% support resolved
55
Score
77
Errors
21
Warnings
+0
Change

Category Scores

Security26
Repo100
Performance100
Maintainability77

Issues to Review

Prioritized issue groups from the latest Plugin Check scan

98 findings

I18n

56

4 issue groups

Maintainability

22

10 issue groups

Security

20

3 issue groups

ERRORI18nText Domain MismatchMismatched text domain. Expected 'refer-a-friend-for-woocommerce-by-wpgens' but got 'gens-raf'.53
Category
I18n
Occurrences
53
Severity
error

Sample message

Mismatched text domain. Expected 'refer-a-friend-for-woocommerce-by-wpgens' but got 'gens-raf'.

ERRORSecurityOutput is not escapedAll output should be run through an escaping function (see the Security sections in the WordPress Developer Handbooks), found '"The handle <strong>$handle</strong> has already been registered. Please choose a different handle for your notification."'.13
Category
Security
Occurrences
13
Severity
error

Sample message

All output should be run through an escaping function (see the Security sections in the WordPress Developer Handbooks), found '"The handle <strong>$handle</strong> has already been registered. Please choose a different handle for your notification."'.

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

Sample message

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

WARNINGMaintainabilityNon-prefixed global variableGlobal variables defined by a theme/plugin should start with the theme/plugin prefix. Found: &quot;$class&quot;.5
Category
Maintainability
Occurrences
5
Severity
warning

Sample message

Global variables defined by a theme/plugin should start with the theme/plugin prefix. Found: &quot;$class&quot;.

WARNINGMaintainabilityslow db query meta keyDetected usage of meta_key, possible slow query.3
Category
Maintainability
Occurrences
3
Severity
warning

Sample message

Detected usage of meta_key, possible slow query.

WARNINGMaintainabilityslow db query meta valueDetected usage of meta_value, possible slow query.3
Category
Maintainability
Occurrences
3
Severity
warning

Sample message

Detected usage of meta_value, possible slow query.

WARNINGMaintainabilitytrademarked termThe plugin name includes a restricted term. Your chosen plugin name - "Refer A Friend for WooCommerce by WPGens" - contains the restricted term "wp" which cannot be used at all in your plugin name.3
Category
Maintainability
Occurrences
3
Severity
warning

Sample message

The plugin name includes a restricted term. Your chosen plugin name - "Refer A Friend for WooCommerce by WPGens" - contains the restricted term "wp" which cannot be used at all in your plugin name.

WARNINGMaintainabilityNon-prefixed hook nameHook names invoked by a theme/plugin should start with the theme/plugin prefix. Found: &quot;&#039;woocommerce_get_sections_&#039; . $this-&gt;id&quot;.2
Category
Maintainability
Occurrences
2
Severity
warning

Sample message

Hook names invoked by a theme/plugin should start with the theme/plugin prefix. Found: &quot;&#039;woocommerce_get_sections_&#039; . $this-&gt;id&quot;.

ERRORMaintainabilityMissing direct file access protectionPHP file should prevent direct access. Add a check like: if ( ! defined( 'ABSPATH' ) ) exit;2
Category
Maintainability
Occurrences
2
Severity
error

Sample message

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

WARNINGMaintainabilityslow db query meta queryDetected usage of meta_query, possible slow query.1
Category
Maintainability
Occurrences
1
Severity
warning

Sample message

Detected usage of meta_query, possible slow query.

Show 7 more
WARNINGMaintainabilityNon-prefixed function1
Category
Maintainability
Occurrences
1
Severity
warning

Sample message

Functions declared in the global namespace by a theme/plugin should start with the theme/plugin prefix. Found: &quot;run_gens_raf&quot;.

WARNINGMaintainabilityerror log trigger error1
Category
Maintainability
Occurrences
1
Severity
warning

Sample message

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

WARNINGSecurityRequest data is not unslashed1
Category
Security
Occurrences
1
Severity
warning

Sample message

$_COOKIE[&quot;gens_raf&quot;] not unslashed before sanitization. Use wp_unslash() or similar

ERRORMaintainabilityrand rand1
Category
Maintainability
Occurrences
1
Severity
error

Sample message

rand() is discouraged. Use the far less predictable wp_rand() instead.

ERRORI18nMissing Translators Comment1
Category
I18n
Occurrences
1
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.

ERRORI18nUnordered Placeholders Text1
Category
I18n
Occurrences
1
Severity
error

Sample message

Multiple placeholders in translatable strings should be ordered. Expected "%1$s, %2$s", but got "%s, %s" in 'Thanks for using the Refer a Friend plugin! You can purchase the premium version and support us on <a href="%s" target="_blank">this page</a><br/>\n <h3>📋 SETUP GUIDE</h3>\n <ol>\n <li><strong>Configure General Settings:</strong> After installing the plugin, go to the Refer a Friend settings (this page) and click on the General tab. Set up your coupon options including discount type, amount, and expiration settings.</li>\n <li><strong>Customize Email Templates:</strong> Click on the Email tab and customize the message that will be sent to users when they receive their coupon code.</li>\n <li><strong>You\'re Done!</strong> Every user will now have a referral link in their account page. When someone makes a purchase through their referral link and the order is marked as complete, the referrer will receive a coupon in their inbox. For orders made through referrals, you can see the referrer\'s name in the order details screen, just below the customer information. <a href="%s" target="_blank">View example screenshot.</a></li>\n </ol>\n <br/>\n <strong>💡 Pro Tip:</strong> Make sure to test the referral flow with a test order to ensure everything works correctly before going live!\n '.

WARNINGI18ntextdomain mismatch1
Category
I18n
Occurrences
1
Severity
warning

Sample message

The "Text Domain" header in the plugin file does not match the slug. Found "gens-raf", expected "refer-a-friend-for-woocommerce-by-wpgens".

External Connections

Not analyzed yet.

Score History

First score snapshot

v1.3.6

55

Latest

Findings
98
Errors
77
Warnings
21
Check
2.0.0

Relationship Map

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

29 nodes

Related Plugins