WooCommerce POS for iPhone, iPad & Android. Tap to Pay, Stripe Terminal, offline mode, multi-outlet stock — every WooCommerce payment gateway.
Prioritized issue groups from the latest Plugin Check scan
Maintainability
150
7 issue groups
Security
104
6 issue groups
I18n
2
2 issue groups
Performance
1
1 issue group
Sample message
Use placeholders and $wpdb->prepare(); found interpolated variable {$group_expr} at \t\t\t\t\tGROUP BY {$group_expr}\n
Sample message
Direct database call without caching detected. Consider using wp_cache_get() / wp_cache_set() or wp_cache_delete().
Sample message
Use of a direct database call is discouraged.
Sample message
Unescaped parameter $count_sql used in $wpdb->get_var()\n$count_sql assigned unsafely at line 251.
Sample message
Global variables defined by a theme/plugin should start with the theme/plugin prefix. Found: "$cap".
Sample message
The upgrade notice for "4.5.10" exceeds the limit of 300 characters.
Sample message
PHP file should prevent direct access. Add a check like: if ( ! defined( 'ABSPATH' ) ) exit;
Sample message
Detected usage of a non-sanitized input variable: $_POST['enabled_categories']
Sample message
Unescaped parameter $orders_table used in $wpdb->get_row()\n$orders_table assigned unsafely at line 484.
Sample message
Replacement variables found, but no valid placeholders found in the query.
Sample message
The plugin name includes a restricted term. Your chosen plugin name - "Oliver POS – WooCommerce POS for iPhone, iPad & Android" - contains the restricted term "woocommerce" which cannot be used within in your plugin name, unless your plugin name contains one of the allowed patterns: "for woocommerce", "with woocommerce", "using woocommerce", or "and woocommerce". The term must still not appear anywhere else in your name.
Sample message
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.
Sample message
$_SERVER['REQUEST_METHOD'] not unslashed before sanitization. Use wp_unslash() or similar
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.
Sample message
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.
Sample message
The "Changelog" section is too long and was truncated. A maximum of 5000 characters is supported.
Sample message
Function "array_is_list()" requires WordPress 6.5.0, but your plugin minimum supported version is WordPress 6.2.0.
Potential connections found in static code analysis.
Outbound calls
46
External assets
1
Incoming endpoints
25
register_rest_route
register_rest_route
register_rest_route
register_rest_route
register_rest_route
admin_post
admin_post
wp_ajax
wp_ajax
wp_ajax
wp_ajax
wp_ajax
wp_ajax
wp_ajax
wp_ajax
wp_ajax
wp_ajax
8 more hidden
3 score snapshots
v4.9.2
37
Latest
v4.9.0
37
Score
| Scan | Score | Findings | Errors | Warnings | Plugin | Check |
|---|---|---|---|---|---|---|
| Latest | 37 | 258 | 15 | 243 | v4.9.2 | 2.0.0 |
| 37 | 257 | 15 | 242 | v4.9.0 | 2.0.0 |
Author, categories, issues, domains, and nearby plugins.