The MainWP Child Report plugin tracks changes to Child sites for the Pro Reports Extension.
Category Scores
Top Issues by Category
maintainability65
security56
i18n37
Issues Details
165 issues found in latest scan
Hook names invoked by a theme/plugin should start with the theme/plugin prefix. Found: "'jetpack_module_configurable_' . $slug".
Processing form data without nonce verification.
date() is affected by runtime timezone changes which can cause date/time to be incorrectly displayed. Use gmdate() instead.
Processing form data without nonce verification.
Detected usage of a non-sanitized input variable: $_GET['order']
Mismatched text domain. Expected 'mainwp-child-reports' but got 'default'.
$_GET['order'] not unslashed before sanitization. Use wp_unslash() or similar
Global variables defined by a theme/plugin should start with the theme/plugin prefix. Found: "$author".
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.
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.
The $text parameter must be a single text string literal. Found: 'Akismet already keeps statistics for comment attempts that it blocks as SPAM. By default, ' . $branding_name . ' Reports does not track these attempts unless you opt-in here. Enabling this is not necessary or recommended for most sites.'
strip_tags() is discouraged. Use the more comprehensive wp_strip_all_tags() instead.
Mismatched text domain. Expected 'mainwp-child-reports' but got 'mainwp-child'.
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.
Use placeholders and $wpdb->prepare(); found interpolated variable $column at "SELECT DISTINCT $column FROM $wpdb->mainwp_stream"
Detected usage of meta_value, possible slow query.
PHP file should prevent direct access. Add a check like: if ( ! defined( 'ABSPATH' ) ) exit;
The plugin name includes a restricted term. Your chosen plugin name - "MainWP Child Reports" - contains the restricted term "wp" which cannot be used at all in your plugin name.
Detected usage of meta_key, possible slow query.
Detected usage of a possibly undefined superglobal array index: $_POST['plugin']. Check that the array index exists before using it.
A "translators:" comment must be a "/* */" style comment. Docblock comments will not be picked up by the tools to generate a ".pot" file.
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.
Plugin Updater detected. Detected code which may be altering WordPress update routines. Detected: _site_transient_update_themes
| Code | Type | Message | Count |
|---|---|---|---|
| WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedHooknameFound | WARNING | Hook names invoked by a theme/plugin should start with the theme/plugin prefix. Found: "'jetpack_module_configurable_' . $slug". | 18 |
| WordPress.Security.NonceVerification.Recommended | WARNING | Processing form data without nonce verification. | 17 |
| 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. | 13 |
| WordPress.Security.NonceVerification.Missing | WARNING | Processing form data without nonce verification. | 11 |
| WordPress.Security.ValidatedSanitizedInput.InputNotSanitized | WARNING | Detected usage of a non-sanitized input variable: $_GET['order'] | 11 |
| WordPress.WP.I18n.TextDomainMismatch | WARNING | Mismatched text domain. Expected 'mainwp-child-reports' but got 'default'. | 11 |
| WordPress.Security.ValidatedSanitizedInput.MissingUnslash | WARNING | $_GET['order'] not unslashed before sanitization. Use wp_unslash() or similar | 10 |
| WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedVariableFound | WARNING | Global variables defined by a theme/plugin should start with the theme/plugin prefix. Found: "$author". | 9 |
| 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. | 7 |
| 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. | 6 |
| WordPress.WP.I18n.NonSingularStringLiteralText | ERROR | The $text parameter must be a single text string literal. Found: 'Akismet already keeps statistics for comment attempts that it blocks as SPAM. By default, ' . $branding_name . ' Reports does not track these attempts unless you opt-in here. Enabling this is not necessary or recommended for most sites.' | 6 |
| WordPress.WP.AlternativeFunctions.strip_tags_strip_tags | ERROR | strip_tags() is discouraged. Use the more comprehensive wp_strip_all_tags() instead. | 5 |
| WordPress.WP.I18n.TextDomainMismatch | ERROR | Mismatched text domain. Expected 'mainwp-child-reports' but got 'mainwp-child'. | 5 |
| WordPress.WP.I18n.MissingArgDomain | ERROR | Missing $domain parameter in function call to _n(). | 4 |
| 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. | 3 |
| WordPress.DB.PreparedSQL.InterpolatedNotPrepared | WARNING | Use placeholders and $wpdb->prepare(); found interpolated variable $column at "SELECT DISTINCT $column FROM $wpdb->mainwp_stream" | 3 |
| WordPress.DB.SlowDBQuery.slow_db_query_meta_value | WARNING | Detected usage of meta_value, possible slow query. | 3 |
| missing_direct_file_access_protection | ERROR | PHP file should prevent direct access. Add a check like: if ( ! defined( 'ABSPATH' ) ) exit; | 3 |
| trademarked_term | WARNING | The plugin name includes a restricted term. Your chosen plugin name - "MainWP Child Reports" - contains the restricted term "wp" which cannot be used at all in your plugin name. | 3 |
| WordPress.DB.PreparedSQL.NotPrepared | ERROR | Use placeholders and $wpdb->prepare(); found $sql_meta | 2 |
| WordPress.DB.SlowDBQuery.slow_db_query_meta_key | WARNING | Detected usage of meta_key, possible slow query. | 2 |
| WordPress.Security.ValidatedSanitizedInput.InputNotValidated | WARNING | Detected usage of a possibly undefined superglobal array index: $_POST['plugin']. Check that the array index exists before using it. | 2 |
| WordPress.WP.I18n.TranslatorsCommentWrongStyle | ERROR | A "translators:" comment must be a "/* */" style comment. Docblock comments will not be picked up by the tools to generate a ".pot" file. | 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 |
| update_modification_detected | WARNING | Plugin Updater detected. Detected code which may be altering WordPress update routines. Detected: _site_transient_update_themes | 2 |
Latest Snapshot
Findings
165
Errors
49
Warnings
116
Score History
First score snapshot
First scan completed
v2.3.1 · Plugin Check 2.0.0 · Model 2026.06-mvp-static-v2
v2.3.1
35
Latest
- Findings
- 165
- Errors
- 49
- Warnings
- 116
- Plugin Check
- 2.0.0
- Model
- 2026.06-mvp-static-v2
| Scan | Score | Findings | Errors | Warnings | Plugin | Plugin Check | Model |
|---|---|---|---|---|---|---|---|
| Latest | 35 | 165 | 49 | 116 | v2.3.1 | 2.0.0 | 2026.06-mvp-static-v2 |