Language Switcher

Add a Language Switcher to Menus, Post Types and Taxonomies.

v3.8.8rafasashiUpdated Added 1k+ installs80% rating
37
Score
81
Errors
105
Warnings
+0
Change

Category Scores

Security0
Repo94
Performance100
Maintainability65

Issues to Review

Prioritized issue groups from the latest Plugin Check scan

186 findings

Security

88

9 issue groups

I18n

54

4 issue groups

Maintainability

38

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

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

Sample message

Processing form data without nonce verification.

ERRORSecurityOutput is not escapedAll output should be run through an escaping function (see the Security sections in the WordPress Developer Handbooks), found '" .lsw-if-{$lang} { display: none; }"'.22
Category
Security
Occurrences
22
Severity
error

Sample message

All output should be run through an escaping function (see the Security sections in the WordPress Developer Handbooks), found '" .lsw-if-{$lang} { display: none; }"'.

WARNINGSecurityRequest data is not unslashed$_COOKIE[$this->_prefix . 'd'] not unslashed before sanitization. Use wp_unslash() or similar22
Category
Security
Occurrences
22
Severity
warning

Sample message

$_COOKIE[$this->_prefix . 'd'] 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: "lsw_get_current_post_id".12
Category
Maintainability
Occurrences
12
Severity
warning

Sample message

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

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

Sample message

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

WARNINGMaintainabilityDynamic hook nameHook names invoked by a theme/plugin should start with the theme/plugin prefix. Found: "$post->post_type . '_custom_fields'".7
Category
Maintainability
Occurrences
7
Severity
warning

Sample message

Hook names invoked by a theme/plugin should start with the theme/plugin prefix. Found: "$post->post_type . '_custom_fields'".

WARNINGI18nMismatched PlaceholdersMismatched placeholders is probably an error5
Category
I18n
Occurrences
5
Severity
warning

Sample message

Mismatched placeholders is probably an error

WARNINGSecurityInput is not sanitizedDetected usage of a non-sanitized input variable: $_REQUEST['language_switcher']4
Category
Security
Occurrences
4
Severity
warning

Sample message

Detected usage of a non-sanitized input variable: $_REQUEST['language_switcher']

WARNINGSecurityInput is not validatedDetected usage of a possibly undefined superglobal array index: $_REQUEST['post']. Check that the array index exists before using it.4
Category
Security
Occurrences
4
Severity
warning

Sample message

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

Show 15 more
WARNINGMaintainabilityNot In Footer4
Category
Maintainability
Occurrences
4
Severity
warning

Sample message

In footer ($in_footer) is not set explicitly wp_register_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.

ERRORI18nNon Singular String Literal Text4
Category
I18n
Occurrences
4
Severity
error

Sample message

The $text parameter must be a single text string literal. Found: $custom_title

WARNINGMaintainabilityslow db query meta query3
Category
Maintainability
Occurrences
3
Severity
warning

Sample message

Detected usage of meta_query, possible slow query.

WARNINGSecurityMissing nonce verification3
Category
Security
Occurrences
3
Severity
warning

Sample message

Processing form data without nonce verification.

WARNINGMaintainabilityslow db query meta key2
Category
Maintainability
Occurrences
2
Severity
warning

Sample message

Detected usage of meta_key, possible slow query.

WARNINGMaintainabilityslow db query meta value2
Category
Maintainability
Occurrences
2
Severity
warning

Sample message

Detected usage of meta_value, possible slow query.

ERRORMaintainabilitystrip tags strip tags2
Category
Maintainability
Occurrences
2
Severity
error

Sample message

strip_tags() is discouraged. Use the more comprehensive wp_strip_all_tags() instead.

ERRORMaintainabilitywp function not compatible with requires wp2
Category
Maintainability
Occurrences
2
Severity
error

Sample message

Function "sanitize_textarea_field()" requires WordPress 4.7.0, but your plugin minimum supported version is WordPress 4.6.0.

WARNINGSecurityDatabase parameter is not escaped1
Category
Security
Occurrences
1
Severity
warning

Sample message

Unescaped parameter $options_table used in $wpdb->get_results()\n$options_table assigned unsafely at line 504.

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

WARNINGSecurityInterpolated SQL is not prepared1
Category
Security
Occurrences
1
Severity
warning

Sample message

Use placeholders and $wpdb->prepare(); found interpolated variable $options_table at "SELECT option_value as value FROM $options_table WHERE option_name = 'WPLANG'"

WARNINGMaintainabilityNon-prefixed constant1
Category
Maintainability
Occurrences
1
Severity
warning

Sample message

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

WARNINGMaintainabilityNon-prefixed global variable1
Category
Maintainability
Occurrences
1
Severity
warning

Sample message

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

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'.

External Connections

Potential connections found in static code analysis.

4 domains

Outbound calls

21

External assets

0

Incoming endpoints

1

Notable Domains

Platform / Reference Domains

github.com1 · platform/reference
opensource.org1 · platform/reference

External Asset Domains

No external asset domains detected.

Incoming Endpoints

/wp-json/lsw-languages/v1/(?P<type>[\w,]+)/(?P<id>[0-9]+)/REST

register_rest_route

Score History

First score snapshot

v3.8.8

37

Latest

Findings
186
Errors
81
Warnings
105
Check
2.0.0

Relationship Map

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

31 nodes

Related Plugins