Adds a more advanced paging navigation interface.
Category Scores
Top Issues by Category
maintainability77
i18n49
security47
Issues Details
179 issues found in latest scan
The $domain parameter must be a single text string literal. Found: $this->textdomain
All output should be run through an escaping function (see the Security sections in the WordPress Developer Handbooks), found '", $argc"'.
Classes declared by a theme/plugin should start with the theme/plugin prefix. Found: "PageNavi_Call".
Functions declared in the global namespace by a theme/plugin should start with the theme/plugin prefix. Found: "_pagenavi_init".
Global variables defined by a theme/plugin should start with the theme/plugin prefix. Found: "$_scb_data".
PHP file should prevent direct access. Add a check like: if ( ! defined( 'ABSPATH' ) ) exit;
Direct database call without caching detected. Consider using wp_cache_get() / wp_cache_set() or wp_cache_delete().
Use placeholders and $wpdb->prepare(); found interpolated variable $columns at "CREATE TABLE IF NOT EXISTS $full_table_name ( $columns ) $table_options;"
trigger_error() found. Debug code should not normally be used in production.
Processing form data without nonce verification.
Hook names invoked by a theme/plugin should start with the theme/plugin prefix. Found: "'scb_activation_' . $plugin".
Unescaped parameter $full_table_name used in $wpdb->query()\n$full_table_name assigned unsafely at line 320.
Attempting a database schema change is discouraged.
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: $options['first_text']
The plugin name includes a restricted term. Your chosen plugin name - "WP-PageNavi" - contains the restricted term "wp" which cannot be used at all in your plugin name.
Processing form data without nonce verification.
Detected usage of a non-sanitized input variable: $_SERVER['HTTP_HOST']
Detected usage of a possibly undefined superglobal array index: $_SERVER['HTTP_HOST']. Check that the array index exists before using it.
$_SERVER['HTTP_HOST'] not unslashed before sanitization. Use wp_unslash() or similar
Use of heredoc syntax (<<<) is not allowed; use standard strings or inline HTML instead
Unescaped parameter $keys used in $wpdb->query()\n$keys assigned unsafely at line 202.
Hook names invoked by a theme/plugin should start with the theme/plugin prefix. Found: "$this->hook".
| Code | Type | Message | Count |
|---|---|---|---|
| WordPress.WP.I18n.NonSingularStringLiteralDomain | ERROR | The $domain parameter must be a single text string literal. Found: $this->textdomain | 39 |
| WordPress.Security.EscapeOutput.OutputNotEscaped | ERROR | All output should be run through an escaping function (see the Security sections in the WordPress Developer Handbooks), found '", $argc"'. | 25 |
| WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedClassFound | WARNING | Classes declared by a theme/plugin should start with the theme/plugin prefix. Found: "PageNavi_Call". | 23 |
| WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedFunctionFound | WARNING | Functions declared in the global namespace by a theme/plugin should start with the theme/plugin prefix. Found: "_pagenavi_init". | 15 |
| WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedVariableFound | WARNING | Global variables defined by a theme/plugin should start with the theme/plugin prefix. Found: "$_scb_data". | 6 |
| missing_direct_file_access_protection | ERROR | PHP file should prevent direct access. Add a check like: if ( ! defined( 'ABSPATH' ) ) exit; | 6 |
| WordPress.DB.DirectDatabaseQuery.DirectQuery | WARNING | Use of a direct database call is discouraged. | 5 |
| WordPress.DB.DirectDatabaseQuery.NoCaching | WARNING | Direct database call without caching detected. Consider using wp_cache_get() / wp_cache_set() or wp_cache_delete(). | 5 |
| WordPress.DB.PreparedSQL.InterpolatedNotPrepared | WARNING | Use placeholders and $wpdb->prepare(); found interpolated variable $columns at "CREATE TABLE IF NOT EXISTS $full_table_name ( $columns ) $table_options;" | 5 |
| WordPress.PHP.DevelopmentFunctions.error_log_trigger_error | WARNING | trigger_error() found. Debug code should not normally be used in production. | 5 |
| WordPress.Security.NonceVerification.Missing | WARNING | Processing form data without nonce verification. | 5 |
| WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedHooknameFound | WARNING | Hook names invoked by a theme/plugin should start with the theme/plugin prefix. Found: "'scb_activation_' . $plugin". | 4 |
| WordPress.WP.I18n.MissingArgDomain | ERROR | Missing $domain parameter in function call to __(). | 4 |
| PluginCheck.Security.DirectDB.UnescapedDBParameter | WARNING | Unescaped parameter $full_table_name used in $wpdb->query()\n$full_table_name assigned unsafely at line 320. | 3 |
| WordPress.DB.DirectDatabaseQuery.SchemaChange | WARNING | Attempting a database schema change is discouraged. | 3 |
| 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. | 3 |
| WordPress.WP.I18n.NonSingularStringLiteralText | ERROR | The $text parameter must be a single text string literal. Found: $options['first_text'] | 3 |
| trademarked_term | WARNING | The plugin name includes a restricted term. Your chosen plugin name - "WP-PageNavi" - contains the restricted term "wp" which cannot be used at all in your plugin name. | 3 |
| WordPress.Security.NonceVerification.Recommended | WARNING | Processing form data without nonce verification. | 2 |
| WordPress.Security.ValidatedSanitizedInput.InputNotSanitized | WARNING | Detected usage of a non-sanitized input variable: $_SERVER['HTTP_HOST'] | 2 |
| WordPress.Security.ValidatedSanitizedInput.InputNotValidated | WARNING | Detected usage of a possibly undefined superglobal array index: $_SERVER['HTTP_HOST']. Check that the array index exists before using it. | 2 |
| WordPress.Security.ValidatedSanitizedInput.MissingUnslash | WARNING | $_SERVER['HTTP_HOST'] not unslashed before sanitization. Use wp_unslash() or similar | 2 |
| PluginCheck.CodeAnalysis.Heredoc.NotAllowed | ERROR | Use of heredoc syntax (<<<) is not allowed; use standard strings or inline HTML instead | 1 |
| PluginCheck.Security.DirectDB.UnescapedDBParameter | ERROR | Unescaped parameter $keys used in $wpdb->query()\n$keys assigned unsafely at line 202. | 1 |
| WordPress.NamingConventions.PrefixAllGlobals.DynamicHooknameFound | WARNING | Hook names invoked by a theme/plugin should start with the theme/plugin prefix. Found: "$this->hook". | 1 |
Latest Snapshot
Findings
179
Errors
84
Warnings
95
Score History
First score snapshot
First scan completed
v2.94.5 · Plugin Check 2.0.0 · Model 2026.06-mvp-static-v2
v2.94.5
35
Latest
- Findings
- 179
- Errors
- 84
- Warnings
- 95
- Plugin Check
- 2.0.0
- Model
- 2026.06-mvp-static-v2
| Scan | Score | Findings | Errors | Warnings | Plugin | Plugin Check | Model |
|---|---|---|---|---|---|---|---|
| Latest | 35 | 179 | 84 | 95 | v2.94.5 | 2.0.0 | 2026.06-mvp-static-v2 |