Transliterator – Multilingual and Multi-script Text Conversion

Universal WordPress transliteration for multilingual and non-Latin URLs, permalinks, media, search and SEO-friendly content.

v2.5.4Ivijan-Stefan StipicUpdated Added 3k+ installs96% rating100% support resolved
28
Score
305
Errors
320
Warnings
+0
Change

Category Scores

Security0
Repo90
Performance100
Maintainability24

Issues to Review

Prioritized issue groups from the latest Plugin Check scan

625 findings

Security

414

11 issue groups

Maintainability

142

12 issue groups

I18n

48

2 issue groups

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

Sample message

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

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

Sample message

Processing form data without nonce verification.

WARNINGSecurityRequest data is not unslashed$_COOKIE['rstr_script'] not unslashed before sanitization. Use wp_unslash() or similar54
Category
Security
Occurrences
54
Severity
warning

Sample message

$_COOKIE['rstr_script'] not unslashed before sanitization. Use wp_unslash() or similar

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.44
Category
I18n
Occurrences
44
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: "$activations".39
Category
Maintainability
Occurrences
39
Severity
warning

Sample message

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

WARNINGSecurityInput is not sanitizedDetected usage of a non-sanitized input variable: $_COOKIE['rstr_script']35
Category
Security
Occurrences
35
Severity
warning

Sample message

Detected usage of a non-sanitized input variable: $_COOKIE['rstr_script']

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

Sample message

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

WARNINGSecurityInterpolated SQL is not preparedUse placeholders and $wpdb->prepare(); found interpolated variable {$RSTR_NAME} at "DELETE FROM `{$wpdb->options}` WHERE `{$wpdb->options}`.`option_name` REGEXP '^_transient_(.*)?{$RSTR_NAME}(.*|$)'"18
Category
Security
Occurrences
18
Severity
warning

Sample message

Use placeholders and $wpdb->prepare(); found interpolated variable {$RSTR_NAME} at "DELETE FROM `{$wpdb->options}` WHERE `{$wpdb->options}`.`option_name` REGEXP '^_transient_(.*)?{$RSTR_NAME}(.*|$)'"

WARNINGMaintainabilityDirect QueryUse of a direct database call is discouraged.16
Category
Maintainability
Occurrences
16
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().16
Category
Maintainability
Occurrences
16
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
WARNINGMaintainabilityMixed line endings13
Category
Maintainability
Occurrences
13
Severity
warning

Sample message

File has mixed line endings; this may cause incorrect results

WARNINGMaintainabilityMissing Version7
Category
Maintainability
Occurrences
7
Severity
warning

Sample message

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

ERRORSecurityException output is not escaped6
Category
Security
Occurrences
6
Severity
error

Sample message

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

ERRORSecuritySQL query is not prepared5
Category
Security
Occurrences
5
Severity
error

Sample message

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

WARNINGSecurityLike Without Wildcards4
Category
Security
Occurrences
4
Severity
warning

Sample message

Unless you are using SQL wildcards, using LIKE is inefficient. Use a straight compare instead. Found: LIKE 'revision'.

WARNINGMaintainabilityNon-prefixed hook name4
Category
Maintainability
Occurrences
4
Severity
warning

Sample message

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

WARNINGSecurityInput is not validated4
Category
Security
Occurrences
4
Severity
warning

Sample message

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

ERRORI18nMissing Arg Domain4
Category
I18n
Occurrences
4
Severity
error

Sample message

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

WARNINGMaintainabilityNo PHP code found3
Category
Maintainability
Occurrences
3
Severity
warning

Sample message

No PHP code was found in this file and short open tags are not allowed by this install of PHP. This file may be using short open tags but PHP does not allow them.

ERRORSecurityDatabase parameter is not escaped3
Category
Security
Occurrences
3
Severity
error

Sample message

Unescaped parameter $RSTR_NAME used in $wpdb->query()\n$RSTR_NAME assigned unsafely at line 17.

ERRORMaintainabilityfive star reviews detected3
Category
Maintainability
Occurrences
3
Severity
error

Sample message

Linking directly to 5 stars reviews is not allowed.

ERRORMaintainabilitywp function not compatible with requires wp3
Category
Maintainability
Occurrences
3
Severity
error

Sample message

Function "wp_is_serving_rest_request()" requires WordPress 6.5.0, but your plugin minimum supported version is WordPress 6.0.0.

WARNINGMaintainabilitySchema Change2
Category
Maintainability
Occurrences
2
Severity
warning

Sample message

Attempting a database schema change is discouraged.

WARNINGSecurityReplacements Wrong Number2
Category
Security
Occurrences
2
Severity
warning

Sample message

Incorrect number of replacements passed to $wpdb->prepare(). Found 2 replacement parameters, expected 0.

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.

External Connections

Not analyzed yet.

Score History

First score snapshot

v2.5.4

28

Latest

Findings
625
Errors
305
Warnings
320
Check
2.0.0

Relationship Map

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

29 nodes

Related Plugins

Cyr to Lat Enhanced

80k+ active installs

99
Allow Cyrillic Usernames

600 active installs

98
Bulglish Permalinks

3k+ active installs

98
Filenames to latin

9k+ active installs

98
Geo to Lat

500 active installs

97
Ukr-To-Lat

6k+ active installs

88