IP Locator

Country and language IP-based detection for WordPress. Fast, reliable, plug & play.

v4.4.0Pierre LannoyUpdated Added 600 installs100% rating
25
Score
482
Errors
211
Warnings
+0
Change

Category Scores

Security0
Repo100
Performance100
Maintainability0

Issues to Review

Prioritized issue groups from the latest Plugin Check scan

693 findings

I18n

262

3 issue groups

Maintainability

239

16 issue groups

Security

180

6 issue groups

ERRORI18nText Domain MismatchMismatched text domain. Expected 'ip-locator' but got 'action-scheduler'.227
Category
I18n
Occurrences
227
Severity
error

Sample message

Mismatched text domain. Expected 'ip-locator' but got 'action-scheduler'.

ERRORSecurityException output is not escapedAll output should be run through an escaping function (see the Security sections in the WordPress Developer Handbooks), found '"The bulk action $action does not have a callback method"'.83
Category
Security
Occurrences
83
Severity
error

Sample message

All output should be run through an escaping function (see the Security sections in the WordPress Developer Handbooks), found '"The bulk action $action does not have a callback method"'.

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

Sample message

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

WARNINGMaintainabilityDirect QueryUse of a direct database call is discouraged.46
Category
Maintainability
Occurrences
46
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().40
Category
Maintainability
Occurrences
40
Severity
warning

Sample message

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

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

Sample message

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

ERRORI18nMissing Translators CommentA function call to esc_html__() 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.32
Category
I18n
Occurrences
32
Severity
error

Sample message

A function call to esc_html__() 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 namespaceNamespaces declared by a theme/plugin should start with the theme/plugin prefix. Found: "Psr\Http\Client".27
Category
Maintainability
Occurrences
27
Severity
warning

Sample message

Namespaces declared by a theme/plugin should start with the theme/plugin prefix. Found: "Psr\Http\Client".

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

Sample message

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

WARNINGSecurityDatabase parameter is not escapedUnescaped parameter $column_name used in $wpdb->get_var()18
Category
Security
Occurrences
18
Severity
warning

Sample message

Unescaped parameter $column_name used in $wpdb->get_var()

Show 15 more
WARNINGMaintainabilityNon-prefixed global variable16
Category
Maintainability
Occurrences
16
Severity
warning

Sample message

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

ERRORSecuritySetting is missing a sanitization callback12
Category
Security
Occurrences
12
Severity
error

Sample message

Sanitization missing for register_setting().

WARNINGMaintainabilityNon-prefixed function12
Category
Maintainability
Occurrences
12
Severity
warning

Sample message

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

WARNINGMaintainabilityNon-prefixed class10
Category
Maintainability
Occurrences
10
Severity
warning

Sample message

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

WARNINGMaintainabilityNon-prefixed constant7
Category
Maintainability
Occurrences
7
Severity
warning

Sample message

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

ERRORMaintainabilitydate date4
Category
Maintainability
Occurrences
4
Severity
error

Sample message

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

WARNINGMaintainabilityDynamic 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: "$hook".

ERRORMaintainabilityparse url parse url4
Category
Maintainability
Occurrences
4
Severity
error

Sample message

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

ERRORMaintainabilityunlink unlink4
Category
Maintainability
Occurrences
4
Severity
error

Sample message

unlink() is discouraged. Use wp_delete_file() to delete a file.

WARNINGMaintainabilityDiscouraged PHP function3
Category
Maintainability
Occurrences
3
Severity
warning

Sample message

The use of function ini_set() is discouraged

ERRORI18nMissing Arg Domain3
Category
I18n
Occurrences
3
Severity
error

Sample message

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

WARNINGMaintainabilityunexpected markdown file3
Category
Maintainability
Occurrences
3
Severity
warning

Sample message

Unexpected markdown file "HOOKS.md" detected in plugin root. Only specific markdown files are expected in production plugins.

ERRORMaintainabilityNot Allowed2
Category
Maintainability
Occurrences
2
Severity
error

Sample message

Use of heredoc syntax (<<<) is not allowed; use standard strings or inline HTML instead

ERRORSecuritySQL query is not prepared2
Category
Security
Occurrences
2
Severity
error

Sample message

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

WARNINGSecurityInput is not sanitized2
Category
Security
Occurrences
2
Severity
warning

Sample message

Detected usage of a non-sanitized input variable: $_POST[&#039;_wpnonce&#039;]

External Connections

Potential connections found in static code analysis.

40 domains

Outbound calls

297

External assets

0

Incoming endpoints

3

Notable Domains

pierre.lannoy.fr109 · outbound
tools.ietf.org16 · outbound
php.net12 · outbound
momentjs.com6 · outbound
actionscheduler.org5 · outbound
cdn.jsdelivr.net4 · outbound

Platform / Reference Domains

github.com64 · platform/reference
w3.org22 · platform/reference
wordpress.org7 · platform/reference
core.trac.wordpress.org2 · platform/reference
gnu.org1 · platform/reference
lists.w3.org1 · platform/reference
opensource.org1 · platform/reference
profiles.wordpress.org1 · platform/reference

External Asset Domains

No external asset domains detected.

Incoming Endpoints

wp_ajax_nopriv_public

wp_ajax

Admin AJAX endpoints2
wp_ajax_hide_iplocator_nagauthenticated

wp_ajax

wp_ajax_iplocator_get_statsauthenticated

wp_ajax

Score History

First score snapshot

v4.4.0

25

Latest

Findings
693
Errors
482
Warnings
211
Check
2.0.0

Relationship Map

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

37 nodes

Related Plugins