LearnPress Wishlist add wishlist feature to your LearnPress course in your site.
Category Scores
Top Issues by Category
security23
maintainability22
i18n10
Issues Details
57 issues found in latest scan
All output should be run through an escaping function (see the Security sections in the WordPress Developer Handbooks), found '$classes'.
Mismatched text domain. Expected 'learnpress-wishlist' but got 'learnpress'.
Hook names invoked by a theme/plugin should start with the theme/plugin prefix. Found: "lp/wishlist/course/button/action".
Global constants defined by a theme/plugin should start with the theme/plugin prefix. Found: "LP_ADDON_WISHLIST_BASENAME".
Classes declared by a theme/plugin should start with the theme/plugin prefix. Found: "LP_Addon_Wishlist".
PHP file should prevent direct access. Add a check like: if ( ! defined( 'ABSPATH' ) ) exit;
Detected usage of a non-sanitized input variable: $_POST['nonce']
$_POST['nonce'] not unslashed before sanitization. Use wp_unslash() or similar
A function call to esc_html__() 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.
Global variables defined by a theme/plugin should start with the theme/plugin prefix. Found: "$course".
Processing form data without nonce verification.
The "/vendor" directory using composer exists, but "composer.json" file is missing.
Tested up to: 6.9 < 7.0. The "Tested up to" value in your plugin is not set to the current version of WordPress. This means your plugin will not show up in searches, as we require plugins to be compatible and documented as tested up to the most recent version of WordPress.
Missing "License" in Plugin Header. Please update your Plugin Header with a valid GPLv2 (or later) compatible license.
Mismatched Stable Tag: 4.0.9 != 4.1.1. Your Stable Tag is meant to be the stable version of your plugin and it needs to be exactly the same with the Version in your main plugin file's header. Any mismatch can prevent users from downloading the correct plugin files from WordPress.org.
| Code | Type | Message | Count |
|---|---|---|---|
| WordPress.Security.EscapeOutput.OutputNotEscaped | ERROR | All output should be run through an escaping function (see the Security sections in the WordPress Developer Handbooks), found '$classes'. | 18 |
| WordPress.WP.I18n.TextDomainMismatch | ERROR | Mismatched text domain. Expected 'learnpress-wishlist' but got 'learnpress'. | 8 |
| WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedHooknameFound | WARNING | Hook names invoked by a theme/plugin should start with the theme/plugin prefix. Found: "lp/wishlist/course/button/action". | 6 |
| WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedConstantFound | WARNING | Global constants defined by a theme/plugin should start with the theme/plugin prefix. Found: "LP_ADDON_WISHLIST_BASENAME". | 5 |
| WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedClassFound | WARNING | Classes declared by a theme/plugin should start with the theme/plugin prefix. Found: "LP_Addon_Wishlist". | 4 |
| missing_direct_file_access_protection | ERROR | PHP file should prevent direct access. Add a check like: if ( ! defined( 'ABSPATH' ) ) exit; | 4 |
| WordPress.Security.ValidatedSanitizedInput.InputNotSanitized | WARNING | Detected usage of a non-sanitized input variable: $_POST['nonce'] | 2 |
| WordPress.Security.ValidatedSanitizedInput.MissingUnslash | WARNING | $_POST['nonce'] not unslashed before sanitization. Use wp_unslash() or similar | 2 |
| WordPress.WP.I18n.MissingTranslatorsComment | ERROR | A function call to esc_html__() 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. | 2 |
| WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedVariableFound | WARNING | Global variables defined by a theme/plugin should start with the theme/plugin prefix. Found: "$course". | 1 |
| WordPress.Security.NonceVerification.Missing | WARNING | Processing form data without nonce verification. | 1 |
| missing_composer_json_file | WARNING | The "/vendor" directory using composer exists, but "composer.json" file is missing. | 1 |
| outdated_tested_upto_header | ERROR | Tested up to: 6.9 < 7.0. The "Tested up to" value in your plugin is not set to the current version of WordPress. This means your plugin will not show up in searches, as we require plugins to be compatible and documented as tested up to the most recent version of WordPress. | 1 |
| plugin_header_no_license | ERROR | Missing "License" in Plugin Header. Please update your Plugin Header with a valid GPLv2 (or later) compatible license. | 1 |
| stable_tag_mismatch | ERROR | Mismatched Stable Tag: 4.0.9 != 4.1.1. Your Stable Tag is meant to be the stable version of your plugin and it needs to be exactly the same with the Version in your main plugin file's header. Any mismatch can prevent users from downloading the correct plugin files from WordPress.org. | 1 |
Latest Snapshot
Findings
57
Errors
35
Warnings
22
Score History
First score snapshot
First scan completed Jun 20, 2026
v4.1.1 · Plugin Check 2.0.0 · Model 2026.06-mvp-static-v2
Jun 20, 2026
v4.1.1
56
Latest
- Findings
- 57
- Errors
- 35
- Warnings
- 22
- Plugin Check
- 2.0.0
- Model
- 2026.06-mvp-static-v2
| Scan | Score | Findings | Errors | Warnings | Plugin | Plugin Check | Model |
|---|---|---|---|---|---|---|---|
| Jun 20, 2026Latest | 56 | 57 | 35 | 22 | v4.1.1 | 2.0.0 | 2026.06-mvp-static-v2 |