Send SMS, OTP & 2FA notifications from WordPress via Twilio. Includes automated alerts, bulk messaging, and integrations with popular plugins.
Prioritized issue groups from the latest Plugin Check scan
Maintainability
1,428
20 issue groups
Security
1,322
4 issue groups
Supply Chain
3
1 issue group
Sample message
Global variables defined by a theme/plugin should start with the theme/plugin prefix. Found: "$account_addon_ids".
Sample message
All output should be run through an escaping function (see the Security sections in the WordPress Developer Handbooks), found '$code'.
Sample message
All output should be run through an escaping function (see the Security sections in the WordPress Developer Handbooks), found '" <a href='{$skip_url}' class='button button-small button-secondary'>{$use_plugin_anonymously_text}</a>"'.
Sample message
Functions declared in the global namespace by a theme/plugin should start with the theme/plugin prefix. Found: "_fs_text".
Sample message
Global constants defined by a theme/plugin should start with the theme/plugin prefix. Found: "FS_API__ADDRESS".
Sample message
Classes declared by a theme/plugin should start with the theme/plugin prefix. Found: "FS_Admin_Menu_Manager".
Sample message
Hook names invoked by a theme/plugin should start with the theme/plugin prefix. Found: "fs_plugins_api".
Sample message
Function "determine_locale()" requires WordPress 5.0.0, but your plugin minimum supported version is WordPress 4.2.0.
Sample message
error_log() found. Debug code should not normally be used in production.
Sample message
Use of a direct database call is discouraged.
Sample message
Direct database call without caching detected. Consider using wp_cache_get() / wp_cache_set() or wp_cache_delete().
Sample message
Processing form data without nonce verification.
Sample message
Resource version not set in call to wp_enqueue_script(). This means new versions of the script may not always be loaded due to browser caching.
Sample message
PHP file should prevent direct access. Add a check like: if ( ! defined( 'ABSPATH' ) ) exit;
Sample message
Hidden files are not permitted.
Sample message
Short URL detected (bit.ly). Use full URLs instead of URL shorteners.
Sample message
Attempting a database schema change is discouraged.
Sample message
Using cURL functions is highly discouraged. Use wp_remote_get() instead.
Sample message
Using cURL functions is highly discouraged. Use wp_remote_get() instead.
Sample message
File operations should use WP_Filesystem methods instead of direct PHP filesystem calls. Found: fclose().
Sample message
Plugin Updater detected. These are not permitted in WordPress.org hosted plugins. Detected: class FS_Plugin_Updater
Sample message
The plugin name includes a restricted term. Your chosen plugin name - "NotifSMS - SMS Notifications OTP & 2FA for WordPress & WooCommerce" - 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
Plugin Updater detected. Detected code which may be altering WordPress update routines. Detected: _site_transient_update_plugins
Sample message
Plugin folders are deleted when upgraded. Do not save data to the plugin folder using copy(). Detected usage of constant WP_PLUGIN_DIR. Use wp_upload_dir() to get the uploads directory path or save to the database instead.
Sample message
Unescaped parameter $query used in $wpdb->get_results()\n$query assigned unsafely at line 608.
Not analyzed yet.
First score snapshot
v2.0.0
22
Latest
| Scan | Score | Findings | Errors | Warnings | Plugin | Check |
|---|---|---|---|---|---|---|
| Latest | 22 | 2,765 | 1,353 | 1,412 | v2.0.0 | 2.0.0 |
Author, categories, issues, domains, and nearby plugins.