Post Draft Preview

Allow non logged-in users to check a draft of unpublished post by using secret link

v1.2.2WP ServedUpdated Added 700 installs66% rating
35
Score
49
Errors
69
Warnings
+0
Change

Category Scores

Security0
Repo79
Performance100
Maintainability71

Issues to Review

Prioritized issue groups from the latest Plugin Check scan

118 findings

Maintainability

44

10 issue groups

Security

40

9 issue groups

I18n

31

3 issue groups

Repo Compliance

2

2 issue groups

ERRORI18nText Domain MismatchMismatched text domain. Expected 'post-draft-preview' but got 'pdp'.29
Category
I18n
Occurrences
29
Severity
error

Sample message

Mismatched text domain. Expected 'post-draft-preview' but got 'pdp'.

WARNINGMaintainabilityNon-prefixed hook nameHook names invoked by a theme/plugin should start with the theme/plugin prefix. Found: "pdp/ajaxurl".12
Category
Maintainability
Occurrences
12
Severity
warning

Sample message

Hook names invoked by a theme/plugin should start with the theme/plugin prefix. Found: "pdp/ajaxurl".

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

Sample message

Processing form data without nonce verification.

WARNINGSecurityInput is not sanitizedDetected usage of a non-sanitized input variable: $_GET['post']7
Category
Security
Occurrences
7
Severity
warning

Sample message

Detected usage of a non-sanitized input variable: $_GET['post']

WARNINGSecurityRequest data is not unslashed$_GET['post'] not unslashed before sanitization. Use wp_unslash() or similar7
Category
Security
Occurrences
7
Severity
warning

Sample message

$_GET['post'] not unslashed before sanitization. Use wp_unslash() or similar

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

Sample message

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

WARNINGMaintainabilityNon-prefixed constantGlobal constants defined by a theme/plugin should start with the theme/plugin prefix. Found: "PDP_ASSETS_PATH".6
Category
Maintainability
Occurrences
6
Severity
warning

Sample message

Global constants defined by a theme/plugin should start with the theme/plugin prefix. Found: "PDP_ASSETS_PATH".

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

Sample message

Processing form data without nonce verification.

WARNINGMaintainabilityDirect QueryUse of a direct database call is discouraged.5
Category
Maintainability
Occurrences
5
Severity
warning

Sample message

Use of a direct database call is discouraged.

WARNINGMaintainabilityNo CachingDirect database call without caching detected. Consider using wp_cache_get() / wp_cache_set() or wp_cache_delete().5
Category
Maintainability
Occurrences
5
Severity
warning

Sample message

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

Show 15 more
WARNINGMaintainabilityNon-prefixed function4
Category
Maintainability
Occurrences
4
Severity
warning

Sample message

Functions declared in the global namespace by a theme/plugin should start with the theme/plugin prefix. Found: "createClass".

ERRORSecurityOutput is not escaped3
Category
Security
Occurrences
3
Severity
error

Sample message

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

ERRORSecuritySQL query is not prepared2
Category
Security
Occurrences
2
Severity
error

Sample message

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

WARNINGMaintainabilityslow db query meta key2
Category
Maintainability
Occurrences
2
Severity
warning

Sample message

Detected usage of meta_key, possible slow query.

ERRORSecurityException output is not escaped2
Category
Security
Occurrences
2
Severity
error

Sample message

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

ERRORSecurityDatabase parameter is not escaped1
Category
Security
Occurrences
1
Severity
error

Sample message

Unescaped parameter $metaKey used in $wpdb->get_var()\n$metaKey used without escaping.

WARNINGMaintainabilityerror log error log1
Category
Maintainability
Occurrences
1
Severity
warning

Sample message

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

WARNINGSecurityInput is not validated1
Category
Security
Occurrences
1
Severity
warning

Sample message

Detected usage of a possibly undefined superglobal array index: $_POST['action']. Check that the array index exists before using it.

ERRORMaintainabilityrand rand1
Category
Maintainability
Occurrences
1
Severity
error

Sample message

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

ERRORI18nMissing Translators Comment1
Category
I18n
Occurrences
1
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.

ERRORSupply ChainHidden files included1
Category
Supply Chain
Occurrences
1
Severity
error

Sample message

Hidden files are not permitted.

WARNINGMaintainabilitymissing composer json file1
Category
Maintainability
Occurrences
1
Severity
warning

Sample message

The "/vendor" directory using composer exists, but "composer.json" file is missing.

ERRORRepo Complianceoutdated tested upto header1
Category
Repo Compliance
Occurrences
1
Severity
error

Sample message

Tested up to: 6.4 < 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.

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.

WARNINGI18ntextdomain mismatch1
Category
I18n
Occurrences
1
Severity
warning

Sample message

The "Text Domain" header in the plugin file does not match the slug. Found "pdp", expected "post-draft-preview".

External Connections

Potential connections found in static code analysis.

32 domains

Outbound calls

104

External assets

0

Incoming endpoints

1

Notable Domains

php.net23 · outbound
bugs.php.net14 · outbound
en.wikipedia.org11 · outbound
symfony.com4 · outbound
opencollective.com3 · outbound
carbon.nesbot.com2 · outbound

Platform / Reference Domains

github.com13 · platform/reference
w3.org4 · platform/reference
gnu.org2 · platform/reference

External Asset Domains

No external asset domains detected.

Incoming Endpoints

No public endpoints detected.

Admin AJAX endpoints1
wp_ajax_{$this->actionName}authenticated

wp_ajax

Score History

First score snapshot

v1.2.2

35

Latest

Findings
118
Errors
49
Warnings
69
Check
2.0.0

Relationship Map

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

33 nodes

Related Plugins

Auto Post Expiration

800 active installs

81