Build any type of directory website such as a business directory, job directory, classifieds directory, and more with this WordPress directory plugin.
Category Scores
Top Issues by Category
maintainability1,366
security908
Issues Details
2,572 issues found in latest scan
Global variables defined by a theme/plugin should start with the theme/plugin prefix. Found: "$_theme_args".
Processing form data without nonce verification.
Processing form data without nonce verification.
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.
Detected usage of a non-sanitized input variable: $_FILES[$field_id . 'async-upload']
Function "determine_locale()" requires WordPress 5.0.0, but your plugin minimum supported version is WordPress 4.6.0.
PHP file should prevent direct access. Add a check like: if ( ! defined( 'ABSPATH' ) ) exit;
Functions declared in the global namespace by a theme/plugin should start with the theme/plugin prefix. Found: "_directorist_get_comment_status_by_review_status".
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: "active_plugins".
Detected usage of meta_query, possible slow query.
Use placeholders and $wpdb->prepare(); found interpolated variable $column at "SELECT $column FROM $this->table_name WHERE $column_where = %s LIMIT 1;"
date() is affected by runtime timezone changes which can cause date/time to be incorrectly displayed. Use gmdate() instead.
Namespaces declared by a theme/plugin should start with the theme/plugin prefix. Found: "AazzTech\Directorist\Elementor".
Detected usage of meta_key, possible slow query.
All output should be run through an escaping function (see the Security sections in the WordPress Developer Handbooks), found '"Failed to remove directory: $dir"'.
Hook names invoked by a theme/plugin should start with the theme/plugin prefix. Found: "$this->client->slug . '_tracker_data'".
All output should be run through an escaping function (see the Security sections in the WordPress Developer Handbooks), found 'directorist_esc_json'.
Detected usage of tax_query, possible slow query.
unlink() is discouraged. Use wp_delete_file() to delete a file.
In footer ($in_footer) is not set explicitly wp_enqueue_script; It is recommended to load scripts in the footer. Please set this value to `true` to load it in the footer, or explicitly `false` if it should be loaded in the header.
Multiple placeholders in translatable strings should be ordered. Expected "%1$s, %2$d", but got "%s, %d" in '%s (maximum %d characters)'.
Multiple placeholders in translatable strings should be ordered. Expected "%1$d, %2$d", but got "%d, %d" in 'Value should be between %d and %d'.
Plugin folders are deleted when upgraded. Do not save data to the plugin folder using copy(). Detected usage of constant WP_CONTENT_DIR. Use wp_upload_dir() to get the uploads directory path or save to the database instead.
| Code | Type | Message | Count |
|---|---|---|---|
| WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedVariableFound | WARNING | Global variables defined by a theme/plugin should start with the theme/plugin prefix. Found: "$_theme_args". | 902 |
| WordPress.Security.NonceVerification.Recommended | WARNING | Processing form data without nonce verification. | 431 |
| WordPress.Security.NonceVerification.Missing | WARNING | Processing form data without nonce verification. | 308 |
| WordPress.WP.I18n.MissingTranslatorsComment | ERROR | 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. | 145 |
| WordPress.Security.ValidatedSanitizedInput.InputNotSanitized | WARNING | Detected usage of a non-sanitized input variable: $_FILES[$field_id . 'async-upload'] | 112 |
| 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.6.0. | 86 |
| missing_direct_file_access_protection | ERROR | PHP file should prevent direct access. Add a check like: if ( ! defined( 'ABSPATH' ) ) exit; | 54 |
| WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedFunctionFound | WARNING | Functions declared in the global namespace by a theme/plugin should start with the theme/plugin prefix. Found: "_directorist_get_comment_status_by_review_status". | 53 |
| WordPress.DB.DirectDatabaseQuery.DirectQuery | WARNING | Use of a direct database call is discouraged. | 46 |
| WordPress.DB.DirectDatabaseQuery.NoCaching | WARNING | Direct database call without caching detected. Consider using wp_cache_get() / wp_cache_set() or wp_cache_delete(). | 43 |
| WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedHooknameFound | WARNING | Hook names invoked by a theme/plugin should start with the theme/plugin prefix. Found: "active_plugins". | 30 |
| WordPress.DB.SlowDBQuery.slow_db_query_meta_query | WARNING | Detected usage of meta_query, possible slow query. | 29 |
| WordPress.DB.PreparedSQL.InterpolatedNotPrepared | WARNING | Use placeholders and $wpdb->prepare(); found interpolated variable $column at "SELECT $column FROM $this->table_name WHERE $column_where = %s LIMIT 1;" | 24 |
| WordPress.DateTime.RestrictedFunctions.date_date | ERROR | date() is affected by runtime timezone changes which can cause date/time to be incorrectly displayed. Use gmdate() instead. | 24 |
| WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedNamespaceFound | WARNING | Namespaces declared by a theme/plugin should start with the theme/plugin prefix. Found: "AazzTech\Directorist\Elementor". | 19 |
| WordPress.DB.SlowDBQuery.slow_db_query_meta_key | WARNING | Detected usage of meta_key, possible slow query. | 18 |
| WordPress.Security.EscapeOutput.ExceptionNotEscaped | ERROR | All output should be run through an escaping function (see the Security sections in the WordPress Developer Handbooks), found '"Failed to remove directory: $dir"'. | 17 |
| WordPress.NamingConventions.PrefixAllGlobals.DynamicHooknameFound | WARNING | Hook names invoked by a theme/plugin should start with the theme/plugin prefix. Found: "$this->client->slug . '_tracker_data'". | 16 |
| WordPress.Security.EscapeOutput.OutputNotEscaped | ERROR | All output should be run through an escaping function (see the Security sections in the WordPress Developer Handbooks), found 'directorist_esc_json'. | 16 |
| WordPress.DB.SlowDBQuery.slow_db_query_tax_query | WARNING | Detected usage of tax_query, possible slow query. | 14 |
| WordPress.WP.AlternativeFunctions.unlink_unlink | ERROR | unlink() is discouraged. Use wp_delete_file() to delete a file. | 11 |
| WordPress.WP.EnqueuedResourceParameters.NotInFooter | WARNING | In footer ($in_footer) is not set explicitly wp_enqueue_script; It is recommended to load scripts in the footer. Please set this value to `true` to load it in the footer, or explicitly `false` if it should be loaded in the header. | 11 |
| WordPress.WP.I18n.UnorderedPlaceholdersPlural | ERROR | Multiple placeholders in translatable strings should be ordered. Expected "%1$s, %2$d", but got "%s, %d" in '%s (maximum %d characters)'. | 11 |
| WordPress.WP.I18n.UnorderedPlaceholdersText | ERROR | Multiple placeholders in translatable strings should be ordered. Expected "%1$d, %2$d", but got "%d, %d" in 'Value should be between %d and %d'. | 11 |
| PluginCheck.CodeAnalysis.WriteFile.PluginDirectoryWrite | ERROR | Plugin folders are deleted when upgraded. Do not save data to the plugin folder using copy(). Detected usage of constant WP_CONTENT_DIR. Use wp_upload_dir() to get the uploads directory path or save to the database instead. | 10 |
Latest Snapshot
Findings
2,572
Errors
443
Warnings
2,129
Score History
First score snapshot
First scan completed Jun 20, 2026
v8.7.4 · Plugin Check 2.0.0 · Model 2026.06-mvp-static-v2
Jun 20, 2026
v8.7.4
22
Latest
- Findings
- 2,572
- Errors
- 443
- Warnings
- 2,129
- Plugin Check
- 2.0.0
- Model
- 2026.06-mvp-static-v2
| Scan | Score | Findings | Errors | Warnings | Plugin | Plugin Check | Model |
|---|---|---|---|---|---|---|---|
| Jun 20, 2026Latest | 22 | 2,572 | 443 | 2,129 | v8.7.4 | 2.0.0 | 2026.06-mvp-static-v2 |