PublishPress Revisions: Duplicate Posts, Submit, Approve and Schedule Content Changes

Control how published content is updated. Users can duplicate posts and submit changes. Then editors can approve, reject or schedule those changes.

v3.8.3PublishPressUpdated Added 10k+ installs92% rating75% support resolved
24
Score
414
Errors
573
Warnings
+0
Change

Category Scores

Security0
Repo94
Performance100
Maintainability0

Issues to Review

Prioritized issue groups from the latest Plugin Check scan

987 findings

Maintainability

446

12 issue groups

I18n

334

7 issue groups

Security

194

6 issue groups

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.174
Category
I18n
Occurrences
174
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.

WARNINGMaintainabilityNon-prefixed global variableGlobal variables defined by a theme/plugin should start with the theme/plugin prefix. Found: "$_action".163
Category
Maintainability
Occurrences
163
Severity
warning

Sample message

Global variables defined by a theme/plugin should start with the theme/plugin prefix. Found: "$_action".

WARNINGMaintainabilityNon-prefixed functionFunctions declared in the global namespace by a theme/plugin should start with the theme/plugin prefix. Found: "_revisionary_dashboard_dismiss_msg".146
Category
Maintainability
Occurrences
146
Severity
warning

Sample message

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

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

Sample message

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

WARNINGSecurityRequest data is not unslashed$_GET['p'] not unslashed before sanitization. Use wp_unslash() or similar99
Category
Security
Occurrences
99
Severity
warning

Sample message

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

WARNINGMaintainabilityNon-prefixed hook nameHook names invoked by a theme/plugin should start with the theme/plugin prefix. Found: "'handle_bulk_actions-' . get_current_screen()->id".66
Category
Maintainability
Occurrences
66
Severity
warning

Sample message

Hook names invoked by a theme/plugin should start with the theme/plugin prefix. Found: "'handle_bulk_actions-' . get_current_screen()->id".

WARNINGSecurityDatabase parameter is not escapedUnescaped parameter $_request used in $wpdb->get_var()\n$_request assigned unsafely at line 1198.41
Category
Security
Occurrences
41
Severity
warning

Sample message

Unescaped parameter $_request used in $wpdb->get_var()\n$_request assigned unsafely at line 1198.

ERRORI18nUnordered Placeholders TextMultiple placeholders in translatable strings should be ordered. Expected "%1$d, %2$d", but got "%d, %d" in 'Sent in last day: %d / %d'.41
Category
I18n
Occurrences
41
Severity
error

Sample message

Multiple placeholders in translatable strings should be ordered. Expected "%1$d, %2$d", but got "%d, %d" in 'Sent in last day: %d / %d'.

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

Sample message

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

WARNINGSecuritywp redirect wp redirectwp_redirect() found. Using wp_safe_redirect(), along with the "allowed_redirect_hosts" 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.25
Category
Security
Occurrences
25
Severity
warning

Sample message

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

Show 15 more
ERRORSecurityUnsafe printing function22
Category
Security
Occurrences
22
Severity
error

Sample message

All output should be run through an escaping function (like echo esc_html_x() or echo esc_attr_x()), found '_ex'.

WARNINGMaintainabilityNon-prefixed constant16
Category
Maintainability
Occurrences
16
Severity
warning

Sample message

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

WARNINGMaintainabilityNon-prefixed class8
Category
Maintainability
Occurrences
8
Severity
warning

Sample message

Classes declared by a theme/plugin should start with the theme/plugin prefix. Found: "PP_Revisions_Compat".

ERRORMaintainabilitywp function not compatible with requires wp7
Category
Maintainability
Occurrences
7
Severity
error

Sample message

Function "get_user()" requires WordPress 6.7.0, but your plugin minimum supported version is WordPress 5.5.0.

ERRORSecurityLike Wildcards In Query4
Category
Security
Occurrences
4
Severity
error

Sample message

SQL wildcards for a LIKE query should be passed in through a replacement parameter. Found: LIKE '%".

ERRORMaintainabilityDeprecated parameter: get_terms parameter 24
Category
Maintainability
Occurrences
4
Severity
error

Sample message

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

ERRORI18nNon Singular String Literal Text4
Category
I18n
Occurrences
4
Severity
error

Sample message

The $text parameter must be a single text string literal. Found: "<strong>Note:</strong> For visual display of revisions, add the following code to foliopress-wysiwyg.php:<br />  if ( strpos( $" . "_SERVER['REQUEST_URI'], 'admin.php?page=rvy-revisions' ) ) return;"

ERRORI18nUnordered Placeholders Plural4
Category
I18n
Occurrences
4
Severity
error

Sample message

Multiple placeholders in translatable strings should be ordered. Expected "%1$s, %2$s", but got "%s, %s" in '%s%s Revision Edits'.

ERRORSecurityQuoted Simple Placeholder3
Category
Security
Occurrences
3
Severity
error

Sample message

Simple placeholders should not be quoted in the query string in $wpdb->prepare(). Found: '%d'.

ERRORMaintainabilityDeprecated parameter: get_delete_post_link parameter 23
Category
Maintainability
Occurrences
3
Severity
error

Sample message

The parameter "false" at position #2 of get_delete_post_link() has been deprecated since WordPress version 3.0.0. Use "" instead.

ERRORI18nUnordered Placeholders Singular3
Category
I18n
Occurrences
3
Severity
error

Sample message

Multiple placeholders in translatable strings should be ordered. Expected "%1$s, %2$s, %3$s", but got "%s, %s, %s" in '%sMy Copies & Changes%s(%s)'.

ERRORMaintainabilityForbidden PHP function found2
Category
Maintainability
Occurrences
2
Severity
error

Sample message

The use of function _wp_post_revision_fields() is forbidden

WARNINGI18nDiscouraged text-domain loading2
Category
I18n
Occurrences
2
Severity
warning

Sample message

load_plugin_textdomain() has been discouraged since WordPress version 4.6. When your plugin is hosted on WordPress.org, you no longer need to manually include this function call for translations under your plugin slug. WordPress will automatically load the translations for you as needed.

WARNINGMaintainabilityNot In Footer2
Category
Maintainability
Occurrences
2
Severity
warning

Sample message

In footer ($in_footer) is not set explicitly wp_enqueue_script; It is recommended to load scripts in the footer. Please set this value to `true` to load it in the footer, or explicitly `false` if it should be loaded in the header.

WARNINGMaintainabilityDiscouraged PHP function1
Category
Maintainability
Occurrences
1
Severity
warning

Sample message

The use of function set_time_limit() is discouraged

Score History

First score snapshot

v3.8.3

24

Latest

Findings
987
Errors
414
Warnings
573
Check
2.0.0

Related Plugins

Disable Gutenberg Autosave

2k+ active installs

99
WP Post Page Clone

80k+ active installs

96
Limit Revisions

1k+ active installs

91
Duplicate PP

10k+ active installs

90
WP Revisions Control

40k+ active installs

85