Ajax add to cart for WooCommerce products
Category Scores
Top Issues by Category
maintainability42
i18n38
security16
Issues Details
98 issues found in latest scan
Mismatched text domain. Expected 'woo-ajax-add-to-cart' but got 'jetpack-assets'.
Function "determine_locale()" requires WordPress 5.0.0, but your plugin minimum supported version is WordPress 4.7.0.
Processing form data without nonce verification.
PHP file should prevent direct access. Add a check like: if ( ! defined( 'ABSPATH' ) ) exit;
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: "$has_block_tags".
Direct database call without caching detected. Consider using wp_cache_get() / wp_cache_set() or wp_cache_delete().
Hook names invoked by a theme/plugin should start with the theme/plugin prefix. Found: "install_plugins_nonmenu_tabs".
Detected usage of a non-sanitized input variable: $_REQUEST[$request_key]
$_REQUEST[$request_key] not unslashed before sanitization. Use wp_unslash() or similar
strip_tags() is discouraged. Use the more comprehensive wp_strip_all_tags() instead.
Using exclusionary parameters, like exclude, in calls to get_posts() should be done with caution, see https://wpvip.com/documentation/performance-improvements-by-removing-usage-of-post__not_in/ for more information.
load_plugin_textdomain() has been discouraged since WordPress version 4.6. When your plugin is hosted on WordPress.org, you no longer need to manually include this function call for translations under your plugin slug. WordPress will automatically load the translations for you as needed.
All output should be run through an escaping function (see the Security sections in the WordPress Developer Handbooks), found '"Version number \"$version\" is not in a recognized format."'.
The "/vendor" directory using composer exists, but "composer.json" file is missing.
The plugin slug includes a restricted term. Your plugin slug - "woo-ajax-add-to-cart" - contains the restricted term "woo" and cannot be used to begin your plugin slug. We disallow the use of certain terms in ways that are abused, or potentially infringe on and/or are misleading with regards to trademarks. You may use the term "woo" elsewhere in your plugin slug, such as "... for woo".
| Code | Type | Message | Count |
|---|---|---|---|
| WordPress.WP.I18n.TextDomainMismatch | ERROR | Mismatched text domain. Expected 'woo-ajax-add-to-cart' but got 'jetpack-assets'. | 26 |
| wp_function_not_compatible_with_requires_wp | ERROR | Function "determine_locale()" requires WordPress 5.0.0, but your plugin minimum supported version is WordPress 4.7.0. | 15 |
| WordPress.Security.NonceVerification.Recommended | WARNING | Processing form data without nonce verification. | 11 |
| missing_direct_file_access_protection | ERROR | PHP file should prevent direct access. Add a check like: if ( ! defined( 'ABSPATH' ) ) exit; | 10 |
| WordPress.WP.I18n.MissingArgDomain | ERROR | Missing $domain parameter in function call to _x(). | 6 |
| 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. | 5 |
| WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedVariableFound | WARNING | Global variables defined by a theme/plugin should start with the theme/plugin prefix. Found: "$has_block_tags". | 3 |
| Squiz.PHP.DiscouragedFunctions.Discouraged | WARNING | The use of function ini_set() is discouraged | 2 |
| WordPress.DB.DirectDatabaseQuery.DirectQuery | WARNING | Use of a direct database call is discouraged. | 2 |
| WordPress.DB.DirectDatabaseQuery.NoCaching | WARNING | Direct database call without caching detected. Consider using wp_cache_get() / wp_cache_set() or wp_cache_delete(). | 2 |
| WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedHooknameFound | WARNING | Hook names invoked by a theme/plugin should start with the theme/plugin prefix. Found: "install_plugins_nonmenu_tabs". | 2 |
| WordPress.Security.ValidatedSanitizedInput.InputNotSanitized | WARNING | Detected usage of a non-sanitized input variable: $_REQUEST[$request_key] | 2 |
| WordPress.Security.ValidatedSanitizedInput.MissingUnslash | WARNING | $_REQUEST[$request_key] not unslashed before sanitization. Use wp_unslash() or similar | 2 |
| WordPress.WP.AlternativeFunctions.strip_tags_strip_tags | ERROR | strip_tags() is discouraged. Use the more comprehensive wp_strip_all_tags() instead. | 2 |
| WordPressVIPMinimum.Performance.WPQueryParams.PostNotIn_exclude | WARNING | Using exclusionary parameters, like exclude, in calls to get_posts() should be done with caution, see https://wpvip.com/documentation/performance-improvements-by-removing-usage-of-post__not_in/ for more information. | 2 |
| five_star_reviews_detected | ERROR | Linking directly to 5 stars reviews is not allowed. | 2 |
| PluginCheck.CodeAnalysis.DiscouragedFunctions.load_plugin_textdomainFound | WARNING | load_plugin_textdomain() has been discouraged since WordPress version 4.6. When your plugin is hosted on WordPress.org, you no longer need to manually include this function call for translations under your plugin slug. WordPress will automatically load the translations for you as needed. | 1 |
| WordPress.Security.EscapeOutput.ExceptionNotEscaped | ERROR | All output should be run through an escaping function (see the Security sections in the WordPress Developer Handbooks), found '"Version number \"$version\" is not in a recognized format."'. | 1 |
| missing_composer_json_file | WARNING | The "/vendor" directory using composer exists, but "composer.json" file is missing. | 1 |
| trademarked_term | WARNING | The plugin slug includes a restricted term. Your plugin slug - "woo-ajax-add-to-cart" - contains the restricted term "woo" and cannot be used to begin your plugin slug. We disallow the use of certain terms in ways that are abused, or potentially infringe on and/or are misleading with regards to trademarks. You may use the term "woo" elsewhere in your plugin slug, such as "... for woo". | 1 |
Latest Snapshot
Findings
98
Errors
67
Warnings
31
Score History
First score snapshot
First scan completed Jun 20, 2026
v2.6.4 · Plugin Check 2.0.0 · Model 2026.06-mvp-static-v2
Jun 20, 2026
v2.6.4
66
Latest
- Findings
- 98
- Errors
- 67
- Warnings
- 31
- Plugin Check
- 2.0.0
- Model
- 2026.06-mvp-static-v2
| Scan | Score | Findings | Errors | Warnings | Plugin | Plugin Check | Model |
|---|---|---|---|---|---|---|---|
| Jun 20, 2026Latest | 66 | 98 | 67 | 31 | v2.6.4 | 2.0.0 | 2026.06-mvp-static-v2 |