This plugin registers a custom post type for portfolio items. It also registers separate portfolio taxonomies for tags and categories.
Category Scores
Top Issues by Category
security9
i18n4
maintainability3
Issues Details
18 issues found in latest scan
Processing form data without nonce verification.
All output should be run through an escaping function (see the Security sections in the WordPress Developer Handbooks), found '$this'.
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: "plugin_locale".
Detected usage of a non-sanitized input variable: $_GET[$tax_slug]
$_GET[$tax_slug] not unslashed before sanitization. Use wp_unslash() or similar
The parameter "FALSE" at position #2 of load_plugin_textdomain() has been deprecated since WordPress version 2.7.0. Use "" instead.
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.
Mismatched text domain. Expected 'portfolio-post-type' but got 'gamajo-dashboard-glancer'.
Tested up to: 5.5 < 7.0. The "Tested up to" value in your plugin is not set to the current version of WordPress. This means your plugin will not show up in searches, as we require plugins to be compatible and documented as tested up to the most recent version of WordPress.
The "Short Description" section is missing. An excerpt was generated from your main plugin description.
The "Text Domain" header in the plugin file does not match the slug. Found "portfolioposttype", expected "portfolio-post-type".
| Code | Type | Message | Count |
|---|---|---|---|
| WordPress.Security.NonceVerification.Recommended | WARNING | Processing form data without nonce verification. | 4 |
| WordPress.Security.EscapeOutput.OutputNotEscaped | ERROR | All output should be run through an escaping function (see the Security sections in the WordPress Developer Handbooks), found '$this'. | 2 |
| WordPress.DB.DirectDatabaseQuery.DirectQuery | WARNING | Use of a direct database call is discouraged. | 1 |
| WordPress.DB.DirectDatabaseQuery.NoCaching | WARNING | Direct database call without caching detected. Consider using wp_cache_get() / wp_cache_set() or wp_cache_delete(). | 1 |
| WordPress.DB.PreparedSQL.NotPrepared | ERROR | Use placeholders and $wpdb->prepare(); found $sql | 1 |
| WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedHooknameFound | WARNING | Hook names invoked by a theme/plugin should start with the theme/plugin prefix. Found: "plugin_locale". | 1 |
| WordPress.Security.ValidatedSanitizedInput.InputNotSanitized | WARNING | Detected usage of a non-sanitized input variable: $_GET[$tax_slug] | 1 |
| WordPress.Security.ValidatedSanitizedInput.MissingUnslash | WARNING | $_GET[$tax_slug] not unslashed before sanitization. Use wp_unslash() or similar | 1 |
| WordPress.WP.DeprecatedParameters.Load_plugin_textdomainParam2Found | ERROR | The parameter "FALSE" at position #2 of load_plugin_textdomain() has been deprecated since WordPress version 2.7.0. Use "" instead. | 1 |
| 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. | 1 |
| WordPress.WP.I18n.TextDomainMismatch | ERROR | Mismatched text domain. Expected 'portfolio-post-type' but got 'gamajo-dashboard-glancer'. | 1 |
| outdated_tested_upto_header | ERROR | Tested up to: 5.5 < 7.0. The "Tested up to" value in your plugin is not set to the current version of WordPress. This means your plugin will not show up in searches, as we require plugins to be compatible and documented as tested up to the most recent version of WordPress. | 1 |
| readme_parser_warnings_no_short_description_present | WARNING | The "Short Description" section is missing. An excerpt was generated from your main plugin description. | 1 |
| textdomain_mismatch | WARNING | The "Text Domain" header in the plugin file does not match the slug. Found "portfolioposttype", expected "portfolio-post-type". | 1 |
Latest Snapshot
Findings
18
Errors
7
Warnings
11
Score History
First score snapshot
First scan completed Jun 20, 2026
v1.0.1 · Plugin Check 2.0.0 · Model 2026.06-mvp-static-v2
Jun 20, 2026
v1.0.1
70
Latest
- Findings
- 18
- Errors
- 7
- Warnings
- 11
- Plugin Check
- 2.0.0
- Model
- 2026.06-mvp-static-v2
| Scan | Score | Findings | Errors | Warnings | Plugin | Plugin Check | Model |
|---|---|---|---|---|---|---|---|
| Jun 20, 2026Latest | 70 | 18 | 7 | 11 | v1.0.1 | 2.0.0 | 2026.06-mvp-static-v2 |