WP Category Permalink

Allows manual selection of a 'main' category for each post for nicer permalinks and better SEO.

v3.4.0Jordy MeowUpdated Added 2k+ installs96% rating
37
Score
75
Errors
31
Warnings
+0
Change

Category Scores

Security0
Repo83
Performance100
Maintainability73

Issues to Review

Prioritized issue groups from the latest Plugin Check scan

106 findings

Security

63

7 issue groups

Maintainability

23

12 issue groups

I18n

17

5 issue groups

Repo Compliance

1

1 issue group

ERRORSecurityOutput Not EscapedAll output should be run through an escaping function (see the Security sections in the WordPress Developer Handbooks), found '"<h4>$post_info->label</h4>"'.42
Category
Security
Occurrences
42
Severity
error

Sample message

All output should be run through an escaping function (see the Security sections in the WordPress Developer Handbooks), found '"<h4>$post_info->label</h4>"'.

ERRORI18nText Domain MismatchMismatched text domain. Expected 'wp-category-permalink' but got 'category-permalink'.9
Category
I18n
Occurrences
9
Severity
error

Sample message

Mismatched text domain. Expected 'wp-category-permalink' but got 'category-permalink'.

WARNINGSecurityMissingProcessing form data without nonce verification.7
Category
Security
Occurrences
7
Severity
warning

Sample message

Processing form data without nonce verification.

WARNINGSecurityRecommendedProcessing form data without nonce verification.6
Category
Security
Occurrences
6
Severity
warning

Sample message

Processing form data without nonce verification.

ERRORSecurityregister setting MissingSanitization missing for register_setting().5
Category
Security
Occurrences
5
Severity
error

Sample message

Sanitization missing for register_setting().

ERRORI18nMissing Arg DomainMissing $domain parameter in function call to __().4
Category
I18n
Occurrences
4
Severity
error

Sample message

Missing $domain parameter in function call to __().

WARNINGMaintainabilityDynamic Hookname FoundHook names invoked by a theme/plugin should start with the theme/plugin prefix. Found: &quot;$this-&gt;prefix . &#039;_meowapps_is_registered&#039;&quot;.3
Category
Maintainability
Occurrences
3
Severity
warning

Sample message

Hook names invoked by a theme/plugin should start with the theme/plugin prefix. Found: &quot;$this-&gt;prefix . &#039;_meowapps_is_registered&#039;&quot;.

WARNINGMaintainabilityNon Prefixed Class FoundClasses declared by a theme/plugin should start with the theme/plugin prefix. Found: &quot;MWCPPost&quot;.3
Category
Maintainability
Occurrences
3
Severity
warning

Sample message

Classes declared by a theme/plugin should start with the theme/plugin prefix. Found: &quot;MWCPPost&quot;.

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

Sample message

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

WARNINGMaintainabilitytrademarked termThe plugin name includes a restricted term. Your chosen plugin name - "WP Category Permalink" - contains the restricted term "wp" which cannot be used at all in your plugin name.3
Category
Maintainability
Occurrences
3
Severity
warning

Sample message

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

Show 15 more
ERRORMaintainabilitydate date2
Category
Maintainability
Occurrences
2
Severity
error

Sample message

date() is affected by runtime timezone changes which can cause date/time to be incorrectly displayed. Use gmdate() instead.

WARNINGMaintainabilityNon Prefixed Variable Found2
Category
Maintainability
Occurrences
2
Severity
warning

Sample message

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

ERRORMaintainabilityrand mt rand2
Category
Maintainability
Occurrences
2
Severity
error

Sample message

mt_rand() is discouraged. Use the far less predictable wp_rand() instead.

ERRORI18nMissing Translators Comment2
Category
I18n
Occurrences
2
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.

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().

WARNINGMaintainabilityerror log error log1
Category
Maintainability
Occurrences
1
Severity
warning

Sample message

error_log() found. Debug code should not normally be used in production.

WARNINGMaintainabilityprevent path disclosure phpinfo1
Category
Maintainability
Occurrences
1
Severity
warning

Sample message

phpinfo() can lead to full path disclosure.

ERRORSecurityUnsafe Printing Function1
Category
Security
Occurrences
1
Severity
error

Sample message

All output should be run through an escaping function (like esc_html_e() or esc_attr_e()), found '_e'.

WARNINGSecurityInput Not Sanitized1
Category
Security
Occurrences
1
Severity
warning

Sample message

Detected usage of a non-sanitized input variable: $_POST[&#039;permalinkTaxa&#039;]

WARNINGSecurityMissing Unslash1
Category
Security
Occurrences
1
Severity
warning

Sample message

$_POST[&#039;permalinkTaxa&#039;] not unslashed before sanitization. Use wp_unslash() or similar

WARNINGMaintainabilityMissing Version1
Category
Maintainability
Occurrences
1
Severity
warning

Sample message

Resource version not set in call to wp_register_style(). This means new versions of the style may not always be loaded due to browser caching.

ERRORI18nNon Singular String Literal Text1
Category
I18n
Occurrences
1
Severity
error

Sample message

The $text parameter must be a single text string literal. Found: 'Permalink ' . $info->labels->singular_name

ERRORI18nUnordered Placeholders Text1
Category
I18n
Occurrences
1
Severity
error

Sample message

Multiple placeholders in translatable strings should be ordered. Expected "%1$c, %2$c, %3$c", but got "%c, %c, %c" in 'For this plugin to work, don\'t forget that you need to use a Permalink Structure that includes <b>%category%</b> (such as "/%category%/%postname%"). This %category% will be handled by the plugin. It can also handle custom post types and taxonomies (such as in gallery plugins, WooCommerce, etc).'.

ERRORRepo Complianceno license1
Category
Repo Compliance
Occurrences
1
Severity
error

Sample message

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

Score History

First score snapshot

v3.4.0

37

Latest

Findings
106
Errors
75
Warnings
31
Check
2.0.0

Related Plugins

Category Icon

2k+ active installs

100
Kliken: Ads + Pixel for Meta

40k+ active installs

100
Pages with category and tag

60k+ active installs

100