WP Better Permalinks

Set custom friendly permalinks structure: Custom Post Type > Taxonomy > Post and Custom Post Type > Taxonomy instead of default WordPress structure.

v4.3.0Mateusz GbiorczykUpdated Added 1k+ installs98% rating
36
Score
110
Errors
59
Warnings
+0
Change

Category Scores

Security0
Repo94
Performance100
Maintainability57

Issues to Review

Prioritized issue groups from the latest Plugin Check scan

169 findings

Maintainability

91

11 issue groups

Security

65

8 issue groups

I18n

12

2 issue groups

Repo Compliance

1

1 issue group

ERRORSecurityOutput is not escapedAll output should be run through an escaping function (see the Security sections in the WordPress Developer Handbooks), found '$path'.43
Category
Security
Occurrences
43
Severity
error

Sample message

All output should be run through an escaping function (see the Security sections in the WordPress Developer Handbooks), found '$path'.

ERRORMaintainabilityShort PHP open tag foundShort PHP opening tag used with echo; expected "<?php echo $path ..." but found "<?= $path ..."41
Category
Maintainability
Occurrences
41
Severity
error

Sample message

Short PHP opening tag used with echo; expected "<?php echo $path ..." but found "<?= $path ..."

WARNINGMaintainabilityNon-prefixed hook nameHook names invoked by a theme/plugin should start with the theme/plugin prefix. Found: &quot;wbp_config&quot;.24
Category
Maintainability
Occurrences
24
Severity
warning

Sample message

Hook names invoked by a theme/plugin should start with the theme/plugin prefix. Found: &quot;wbp_config&quot;.

WARNINGSecurityMissing nonce verificationProcessing form data without nonce verification.8
Category
Security
Occurrences
8
Severity
warning

Sample message

Processing form data without nonce verification.

ERRORMaintainabilityMissing direct file access protectionPHP file should prevent direct access. Add a check like: if ( ! defined( 'ABSPATH' ) ) exit;8
Category
Maintainability
Occurrences
8
Severity
error

Sample message

PHP file should prevent direct access. Add a check like: if ( ! defined( 'ABSPATH' ) ) exit;

ERRORI18nMissing Translators CommentA 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
Category
I18n
Occurrences
6
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 TextMultiple placeholders in translatable strings should be ordered. Expected "%1$s, %2$s", but got "%s, %s" in '%sProvide us a coffee%s'.6
Category
I18n
Occurrences
6
Severity
error

Sample message

Multiple placeholders in translatable strings should be ordered. Expected "%1$s, %2$s", but got "%s, %s" in '%sProvide us a coffee%s'.

WARNINGMaintainabilityNon-prefixed constantGlobal constants defined by a theme/plugin should start with the theme/plugin prefix. Found: &quot;WBP_FILE&quot;.5
Category
Maintainability
Occurrences
5
Severity
warning

Sample message

Global constants defined by a theme/plugin should start with the theme/plugin prefix. Found: &quot;WBP_FILE&quot;.

WARNINGSecurityInput is not sanitizedDetected usage of a non-sanitized input variable: $_POST[$key]5
Category
Security
Occurrences
5
Severity
warning

Sample message

Detected usage of a non-sanitized input variable: $_POST[$key]

WARNINGSecurityRequest data is not unslashed$_POST[$key] not unslashed before sanitization. Use wp_unslash() or similar5
Category
Security
Occurrences
5
Severity
warning

Sample message

$_POST[$key] not unslashed before sanitization. Use wp_unslash() or similar

Show 12 more
WARNINGMaintainabilityNon-prefixed global variable3
Category
Maintainability
Occurrences
3
Severity
warning

Sample message

Global variables defined by a theme/plugin should start with the theme/plugin prefix. Found: &quot;$config&quot;.

ERRORMaintainabilityparse url parse url3
Category
Maintainability
Occurrences
3
Severity
error

Sample message

parse_url() is discouraged because of inconsistency in the output across PHP versions; use wp_parse_url() instead.

WARNINGMaintainabilitytrademarked term3
Category
Maintainability
Occurrences
3
Severity
warning

Sample message

The plugin name includes a restricted term. Your chosen plugin name - "WP Better Permalinks" - contains the restricted term "wp" which cannot be used at all in your plugin name.

WARNINGMaintainabilityDirect Query1
Category
Maintainability
Occurrences
1
Severity
warning

Sample message

Use of a direct database call is discouraged.

WARNINGMaintainabilityNo Caching1
Category
Maintainability
Occurrences
1
Severity
warning

Sample message

Direct database call without caching detected. Consider using wp_cache_get() / wp_cache_set() or wp_cache_delete().

ERRORSecuritySQL query is not prepared1
Category
Security
Occurrences
1
Severity
error

Sample message

Use placeholders and $wpdb->prepare(); found $sql

WARNINGSecurityNonce verification recommended1
Category
Security
Occurrences
1
Severity
warning

Sample message

Processing form data without nonce verification.

WARNINGSecuritywp redirect wp redirect1
Category
Security
Occurrences
1
Severity
warning

Sample message

wp_redirect() found. Using wp_safe_redirect(), along with the &quot;allowed_redirect_hosts&quot; 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.

WARNINGSecurityInput is not validated1
Category
Security
Occurrences
1
Severity
warning

Sample message

Detected usage of a possibly undefined superglobal array index: $_SERVER[&#039;PHP_SELF&#039;]. Check that the array index exists before using it.

ERRORMaintainabilityDeprecated parameter: get_terms parameter 21
Category
Maintainability
Occurrences
1
Severity
error

Sample message

The parameter "[\r\n 'hide_empty' => false,\r\n 'fields' => 'ids',\r\n 'lang' => [],\r\n ]" at position #2 of get_terms() has been deprecated since WordPress version 4.5.0. Instead do not pass the parameter.

WARNINGMaintainabilitymissing composer json file1
Category
Maintainability
Occurrences
1
Severity
warning

Sample message

The &quot;/vendor&quot; directory using composer exists, but &quot;composer.json&quot; file is missing.

ERRORRepo Complianceplugin header no license1
Category
Repo Compliance
Occurrences
1
Severity
error

Sample message

Missing "License" in Plugin Header. Please update your Plugin Header with a valid GPLv2 (or later) compatible license.

External Connections

Potential connections found in static code analysis.

8 domains

Outbound calls

19

External assets

0

Incoming endpoints

1

Notable Domains

ko-fi.com3 · outbound
php-fig.org2 · outbound
gbiorczyk.pl1 · outbound
getcomposer.org1 · outbound
mattplugins.com1 · outbound

Platform / Reference Domains

wordpress.org7 · platform/reference
codex.wordpress.org2 · platform/reference
github.com2 · platform/reference

External Asset Domains

No external asset domains detected.

Incoming Endpoints

No public endpoints detected.

Admin AJAX endpoints1
wp_ajax_wbp_noticeauthenticated

wp_ajax

Score History

First score snapshot

v4.3.0

36

Latest

Findings
169
Errors
110
Warnings
59
Check
2.0.0

Relationship Map

Author, categories, issues, domains, and nearby plugins.

34 nodes

Related Plugins