The Media Hygiene plugin removes unused media from the WordPress library to free up space, reduce clutter, and improve server performance.
Category Scores
Issues to Review
Prioritized issue groups from the latest Plugin Check scan
Security
431
12 issue groups
I18n
380
5 issue groups
Maintainability
143
8 issue groups
ERRORI18nNon Singular String Literal DomainThe $domain parameter must be a single text string literal. Found: MEDIA_HYGIENE342
- Category
- I18n
- Occurrences
- 342
- Severity
- error
Sample message
The $domain parameter must be a single text string literal. Found: MEDIA_HYGIENE
ERRORSecurityUnsafe Printing FunctionAll output should be run through an escaping function (like esc_html_e() or esc_attr_e()), found '_e'.179
- Category
- Security
- Occurrences
- 179
- Severity
- error
Sample message
All output should be run through an escaping function (like esc_html_e() or esc_attr_e()), found '_e'.
WARNINGSecurityMissing Unslash$_GET['attachment_cat'] not unslashed before sanitization. Use wp_unslash() or similar113
- Category
- Security
- Occurrences
- 113
- Severity
- warning
Sample message
$_GET['attachment_cat'] not unslashed before sanitization. Use wp_unslash() or similar
WARNINGSecurityRecommendedProcessing form data without nonce verification.75
- Category
- Security
- Occurrences
- 75
- Severity
- warning
Sample message
Processing form data without nonce verification.
ERRORMaintainabilitywp function not compatible with requires wpFunction "rest_sanitize_array()" requires WordPress 5.5.0, but your plugin minimum supported version is WordPress 5.3.0.55
- Category
- Maintainability
- Occurrences
- 55
- Severity
- error
Sample message
Function "rest_sanitize_array()" requires WordPress 5.5.0, but your plugin minimum supported version is WordPress 5.3.0.
ERRORMaintainabilitydate datedate() is affected by runtime timezone changes which can cause date/time to be incorrectly displayed. Use gmdate() instead.27
- Category
- Maintainability
- Occurrences
- 27
- Severity
- error
Sample message
date() is affected by runtime timezone changes which can cause date/time to be incorrectly displayed. Use gmdate() instead.
WARNINGI18nNo Html Wrapped StringsTranslatable string should not be wrapped in HTML. Found: '<li>ACF(Advanced Custom Field Pro)</li>'23
- Category
- I18n
- Occurrences
- 23
- Severity
- warning
Sample message
Translatable string should not be wrapped in HTML. Found: '<li>ACF(Advanced Custom Field Pro)</li>'
WARNINGSecurityInput Not ValidatedDetected usage of a possibly undefined superglobal array index: $_POST['ajax_call']. Check that the array index exists before using it.22
- Category
- Security
- Occurrences
- 22
- Severity
- warning
Sample message
Detected usage of a possibly undefined superglobal array index: $_POST['ajax_call']. Check that the array index exists before using it.
WARNINGMaintainabilityDirect QueryUse of a direct database call is discouraged.17
- Category
- Maintainability
- Occurrences
- 17
- Severity
- warning
Sample message
Use of a direct database call is discouraged.
WARNINGMaintainabilityNo CachingDirect database call without caching detected. Consider using wp_cache_get() / wp_cache_set() or wp_cache_delete().17
- Category
- Maintainability
- Occurrences
- 17
- Severity
- warning
Sample message
Direct database call without caching detected. Consider using wp_cache_get() / wp_cache_set() or wp_cache_delete().
Show 15 moreShow less
ERRORSecurityNot Prepared12
- Category
- Security
- Occurrences
- 12
- Severity
- error
Sample message
Use placeholders and $wpdb->prepare(); found $deleted_media_sql
WARNINGSecurityInput Not Sanitized10
- Category
- Security
- Occurrences
- 10
- Severity
- warning
Sample message
Detected usage of a non-sanitized input variable: $_POST['ajax_call']
ERRORMaintainabilitymissing direct file access protection10
- Category
- Maintainability
- Occurrences
- 10
- Severity
- error
Sample message
PHP file should prevent direct access. Add a check like: if ( ! defined( 'ABSPATH' ) ) exit;
WARNINGSecurityUnescaped DBParameter9
- Category
- Security
- Occurrences
- 9
- Severity
- warning
Sample message
Unescaped parameter $wmh_deleted_media used in $wpdb->query()\n$wmh_deleted_media assigned unsafely at line 43.
ERRORI18nMissing Arg Domain9
- Category
- I18n
- Occurrences
- 9
- Severity
- error
Sample message
Missing $domain parameter in function call to __().
WARNINGMaintainabilitySchema Change8
- Category
- Maintainability
- Occurrences
- 8
- Severity
- warning
Sample message
Attempting a database schema change is discouraged.
WARNINGMaintainabilityDiscouraged6
- Category
- Maintainability
- Occurrences
- 6
- Severity
- warning
Sample message
The use of function set_time_limit() is discouraged
ERRORSecurityUnescaped DBParameter4
- Category
- Security
- Occurrences
- 4
- Severity
- error
Sample message
Unescaped parameter $deleted_media_sql used in $wpdb->get_results()\n$deleted_media_sql assigned unsafely at line 11.
WARNINGMaintainabilityerror log error log3
- Category
- Maintainability
- Occurrences
- 3
- Severity
- warning
Sample message
error_log() found. Debug code should not normally be used in production.
ERRORSecurityOutput Not Escaped3
- Category
- Security
- Occurrences
- 3
- Severity
- error
Sample message
All output should be run through an escaping function (see the Security sections in the WordPress Developer Handbooks), found '$pro_plugin_list_html'.
ERRORI18nMissing Translators Comment3
- Category
- I18n
- Occurrences
- 3
- Severity
- error
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.
ERRORI18nUnordered Placeholders Text3
- Category
- I18n
- Occurrences
- 3
- Severity
- error
Sample message
Multiple placeholders in translatable strings should be ordered. Expected "%1$d, %2$s", but got "%d, %s" in '%d file(s) moved to Trash (%s freed from dashboard count).'.
WARNINGSecurityInterpolated Not Prepared2
- Category
- Security
- Occurrences
- 2
- Severity
- warning
Sample message
Use placeholders and $wpdb->prepare(); found interpolated variable $post_types_in at "SELECT ID FROM {$wpdb->posts} WHERE post_type IN ($post_types_in) AND post_status IN ('publish','draft') ORDER BY ID ASC"
WARNINGSecurityUnfinished Prepare1
- Category
- Security
- Occurrences
- 1
- Severity
- warning
Sample message
Replacement variables found, but no valid placeholders found in the query.
WARNINGSecuritywp redirect wp redirect1
- Category
- Security
- Occurrences
- 1
- Severity
- warning
Sample message
wp_redirect() found. Using wp_safe_redirect(), along with the "allowed_redirect_hosts" filter if needed, can help avoid any chances of malicious redirects within code. It is also important to remember to call exit() after a redirect so that no other unwanted code is executed.
Score History
First score snapshot
v6.0.0
28
Latest
- Findings
- 963
- Errors
- 654
- Warnings
- 309
- Check
- 2.0.0
| Scan | Score | Findings | Errors | Warnings | Plugin | Check |
|---|---|---|---|---|---|---|
| Latest | 28 | 963 | 654 | 309 | v6.0.0 | 2.0.0 |