TranslatePress – Translate Multilingual sites with AI Translation

Translate your site visually, directly from the front-end. Go multilingual in minutes using automatic AI translation. Works with any theme or plugin.

v3.2.2CozmoslabsUpdated Added 400k+ installs94% rating88% support resolved
25
Score
452
Errors
1,541
Warnings
+0
Change

Category Scores

Security0
Repo97
Performance100
Maintainability0

Issues to Review

Prioritized issue groups from the latest Plugin Check scan

1,993 findings

Maintainability

1,300

14 issue groups

Security

406

9 issue groups

I18n

232

2 issue groups

WARNINGMaintainabilityNon Prefixed Hookname FoundHook names invoked by a theme/plugin should start with the theme/plugin prefix. Found: "'trp_advanced_setting_custom_' . $setting['name']".360
Category
Maintainability
Occurrences
360
Severity
warning

Sample message

Hook names invoked by a theme/plugin should start with the theme/plugin prefix. Found: "'trp_advanced_setting_custom_' . $setting['name']".

WARNINGMaintainabilityNon Prefixed Function FoundFunctions declared in the global namespace by a theme/plugin should start with the theme/plugin prefix. Found: "display_message_for_disable_gettext_in_editor".356
Category
Maintainability
Occurrences
356
Severity
warning

Sample message

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

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

Sample message

Processing form data without nonce verification.

WARNINGMaintainabilityNon Prefixed Variable FoundGlobal variables defined by a theme/plugin should start with the theme/plugin prefix. Found: "$TRP_EMAIL_ORDER".215
Category
Maintainability
Occurrences
215
Severity
warning

Sample message

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

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

ERRORMaintainabilitywp function not compatible with requires wpFunction "attachment_url_to_postid()" requires WordPress 4.0.0, but your plugin minimum supported version is WordPress 3.1.0.113
Category
Maintainability
Occurrences
113
Severity
error

Sample message

Function "attachment_url_to_postid()" requires WordPress 4.0.0, but your plugin minimum supported version is WordPress 3.1.0.

ERRORI18nInterpolated Variable TextThe $text parameter must not contain interpolated variables or expressions. Found: $d88
Category
I18n
Occurrences
88
Severity
error

Sample message

The $text parameter must not contain interpolated variables or expressions. Found: $d

WARNINGMaintainabilityNon Prefixed Class FoundClasses declared by a theme/plugin should start with the theme/plugin prefix. Found: "Cozmoslabs_Plugin_Optin_Metadata_Builder".71
Category
Maintainability
Occurrences
71
Severity
warning

Sample message

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

WARNINGSecurityMissing Unslash$_GET[$this->prefix.'_dismiss_admin_notification'] not unslashed before sanitization. Use wp_unslash() or similar68
Category
Security
Occurrences
68
Severity
warning

Sample message

$_GET[$this->prefix.'_dismiss_admin_notification'] not unslashed before sanitization. Use wp_unslash() or similar

WARNINGMaintainabilityNon Prefixed Constant FoundGlobal constants defined by a theme/plugin should start with the theme/plugin prefix. Found: "TRP_DEFAULT_BR_TEXT".44
Category
Maintainability
Occurrences
44
Severity
warning

Sample message

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

Show 15 more
WARNINGMaintainabilityDirect Query32
Category
Maintainability
Occurrences
32
Severity
warning

Sample message

Use of a direct database call is discouraged.

WARNINGMaintainabilityNo Caching32
Category
Maintainability
Occurrences
32
Severity
warning

Sample message

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

ERRORSecurityNot Prepared25
Category
Security
Occurrences
25
Severity
error

Sample message

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

WARNINGSecuritywp redirect wp redirect25
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.

WARNINGSecurityMissing24
Category
Security
Occurrences
24
Severity
warning

Sample message

Processing form data without nonce verification.

ERRORMaintainabilitydate date22
Category
Maintainability
Occurrences
22
Severity
error

Sample message

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

WARNINGMaintainabilityerror log debug backtrace17
Category
Maintainability
Occurrences
17
Severity
warning

Sample message

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

WARNINGSecurityInterpolated Not Prepared14
Category
Security
Occurrences
14
Severity
warning

Sample message

Use placeholders and $wpdb->prepare(); found interpolated variable $dictionary_table_name at "SELECT COUNT(id) FROM $dictionary_table_name WHERE translated != ''"

ERRORMaintainabilityparse url parse url14
Category
Maintainability
Occurrences
14
Severity
error

Sample message

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

WARNINGSecurityUnescaped DBParameter11
Category
Security
Occurrences
11
Severity
warning

Sample message

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

WARNINGMaintainabilityNot In Footer11
Category
Maintainability
Occurrences
11
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.

ERRORSecurityUnescaped DBParameter8
Category
Security
Occurrences
8
Severity
error

Sample message

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

ERRORMaintainabilitymissing direct file access protection7
Category
Maintainability
Occurrences
7
Severity
error

Sample message

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

WARNINGSecurityUnfinished Prepare6
Category
Security
Occurrences
6
Severity
warning

Sample message

Replacement variables found, but no valid placeholders found in the query.

WARNINGMaintainabilityDynamic Hookname Found6
Category
Maintainability
Occurrences
6
Severity
warning

Sample message

Hook names invoked by a theme/plugin should start with the theme/plugin prefix. Found: "$this->notificationId.'_after_notification_dismissed'".

Score History

First score snapshot

v3.2.2

25

Latest

Findings
1,993
Errors
452
Warnings
1,541
Check
2.0.0

Related Plugins