Local Pickup for WooCommerce

Simplify your WooCommerce shipping with the Local Pickup plugin. Define pickup locations easily, offering convenient options for your customers.

v1.1.2DotstoreUpdated Added 1k+ installs100% rating
24
Score
550
Errors
1,388
Warnings
+0
Change

Category Scores

Security0
Repo94
Performance100
Maintainability0

Issues to Review

Prioritized issue groups from the latest Plugin Check scan

1,938 findings

Maintainability

1,400

19 issue groups

Security

524

4 issue groups

I18n

11

2 issue groups

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

Sample message

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

ERRORSecurityOutput is not escapedAll output should be run through an escaping function (see the Security sections in the WordPress Developer Handbooks), found '" <a href='{$skip_url}' class='button button-small button-secondary'>{$use_plugin_anonymously_text}</a>"'.514
Category
Security
Occurrences
514
Severity
error

Sample message

All output should be run through an escaping function (see the Security sections in the WordPress Developer Handbooks), found '" <a href='{$skip_url}' class='button button-small button-secondary'>{$use_plugin_anonymously_text}</a>"'.

WARNINGMaintainabilityNon-prefixed functionFunctions declared in the global namespace by a theme/plugin should start with the theme/plugin prefix. Found: &quot;_fs_text&quot;.99
Category
Maintainability
Occurrences
99
Severity
warning

Sample message

Functions declared in the global namespace by a theme/plugin should start with the theme/plugin prefix. Found: &quot;_fs_text&quot;.

WARNINGMaintainabilityNon-prefixed classClasses declared by a theme/plugin should start with the theme/plugin prefix. Found: &quot;FS_Admin_Menu_Manager&quot;.55
Category
Maintainability
Occurrences
55
Severity
warning

Sample message

Classes declared by a theme/plugin should start with the theme/plugin prefix. Found: &quot;FS_Admin_Menu_Manager&quot;.

WARNINGMaintainabilityNon-prefixed constantGlobal constants defined by a theme/plugin should start with the theme/plugin prefix. Found: &quot;FS_API__ADDRESS&quot;.26
Category
Maintainability
Occurrences
26
Severity
warning

Sample message

Global constants defined by a theme/plugin should start with the theme/plugin prefix. Found: &quot;FS_API__ADDRESS&quot;.

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

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

Sample message

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

WARNINGMaintainabilityNon-prefixed hook nameHook names invoked by a theme/plugin should start with the theme/plugin prefix. Found: &quot;active_plugins&quot;.7
Category
Maintainability
Occurrences
7
Severity
warning

Sample message

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

WARNINGMaintainabilityDirect QueryUse of a direct database call is discouraged.5
Category
Maintainability
Occurrences
5
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().4
Category
Maintainability
Occurrences
4
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
ERRORMaintainabilitywp function not compatible with requires wp4
Category
Maintainability
Occurrences
4
Severity
error

Sample message

Function "str_contains()" requires WordPress 5.9.0, but your plugin minimum supported version is WordPress 5.0.0.

ERRORMaintainabilityfile system operations fclose3
Category
Maintainability
Occurrences
3
Severity
error

Sample message

File operations should use WP_Filesystem methods instead of direct PHP filesystem calls. Found: fclose().

WARNINGMaintainabilityMissing Version3
Category
Maintainability
Occurrences
3
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.

WARNINGMaintainabilitySchema Change2
Category
Maintainability
Occurrences
2
Severity
warning

Sample message

Attempting a database schema change is discouraged.

ERRORMaintainabilityfile system operations fopen2
Category
Maintainability
Occurrences
2
Severity
error

Sample message

File operations should use WP_Filesystem methods instead of direct PHP filesystem calls. Found: fopen().

ERRORMaintainabilityMissing direct file access protection2
Category
Maintainability
Occurrences
2
Severity
error

Sample message

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

ERRORMaintainabilityplugin updater detected2
Category
Maintainability
Occurrences
2
Severity
error

Sample message

Plugin Updater detected. These are not permitted in WordPress.org hosted plugins. Detected: class FS_Plugin_Updater

WARNINGMaintainabilityupdate modification detected2
Category
Maintainability
Occurrences
2
Severity
warning

Sample message

Plugin Updater detected. Detected code which may be altering WordPress update routines. Detected: _site_transient_update_plugins

WARNINGI18nDiscouraged text-domain loading1
Category
I18n
Occurrences
1
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.

ERRORMaintainabilityPlugin Directory Write1
Category
Maintainability
Occurrences
1
Severity
error

Sample message

Plugin folders are deleted when upgraded. Do not save data to the plugin folder using copy(). Detected usage of constant WP_PLUGIN_DIR. Use wp_upload_dir() to get the uploads directory path or save to the database instead.

ERRORSecurityDatabase parameter is not escaped1
Category
Security
Occurrences
1
Severity
error

Sample message

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

WARNINGMaintainabilityDynamic hook name1
Category
Maintainability
Occurrences
1
Severity
warning

Sample message

Hook names invoked by a theme/plugin should start with the theme/plugin prefix. Found: &quot;{$module_type}_update_check_locales&quot;.

WARNINGMaintainabilityNon-prefixed interface1
Category
Maintainability
Occurrences
1
Severity
warning

Sample message

Interfaces declared by a theme/plugin should start with the theme/plugin prefix. Found: &quot;FS_I_Garbage_Collector&quot;.

WARNINGSecuritywp redirect wp redirect1
Category
Security
Occurrences
1
Severity
warning

Sample message

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

ERRORMaintainabilityfile system operations mkdir1
Category
Maintainability
Occurrences
1
Severity
error

Sample message

File operations should use WP_Filesystem methods instead of direct PHP filesystem calls. Found: mkdir().

External Connections

Potential connections found in static code analysis.

41 domains

Outbound calls

257

External assets

3

Incoming endpoints

18

Notable Domains

thedotstore.com46 · outbound
freemius.com8 · outbound
php.net7 · outbound
youtube.com5 · outbound
benalman.com2 · outbound

Platform / Reference Domains

gnu.org113 · platform/reference
w3.org13 · platform/reference
wordpress.org9 · platform/reference
github.com8 · platform/reference
api.wordpress.org2 · platform/reference
make.wordpress.org2 · platform/reference
core.trac.wordpress.org1 · platform/reference

External Asset Domains

checkout.freemius.com4 · asset + outbound

Incoming Endpoints

wp_ajax_nopriv_dslpfw_get_pickup_location_appointment_datapublic

wp_ajax

wp_ajax_nopriv_dslpfw_get_pickup_location_opening_hours_listpublic

wp_ajax

wp_ajax_nopriv_dslpfw_set_cart_item_handlingpublic

wp_ajax

wp_ajax_nopriv_dslpfw_set_package_handlingpublic

wp_ajax

wp_ajax_nopriv_dslpfw_set_package_items_handlingpublic

wp_ajax

Admin AJAX endpoints13
admin_post_fs_clone_resolutionauthenticated

admin_post

wp_ajax_dslpfw_change_status_from_listauthenticated

wp_ajax

wp_ajax_dslpfw_export_pickup_locations_actionauthenticated

wp_ajax

wp_ajax_dslpfw_get_pickup_location_appointment_dataauthenticated

wp_ajax

wp_ajax_dslpfw_get_pickup_location_opening_hours_listauthenticated

wp_ajax

wp_ajax_dslpfw_import_pickup_locations_actionauthenticated

wp_ajax

wp_ajax_dslpfw_json_search_productsauthenticated

wp_ajax

wp_ajax_dslpfw_plugin_setup_wizard_submitauthenticated

wp_ajax

wp_ajax_dslpfw_set_cart_item_handlingauthenticated

wp_ajax

wp_ajax_dslpfw_set_package_handlingauthenticated

wp_ajax

wp_ajax_dslpfw_set_package_items_handlingauthenticated

wp_ajax

wp_ajax_fs_dismiss_notice_action_{$ajax_action_suffix}authenticated

wp_ajax

1 more hidden

Score History

First score snapshot

v1.1.2

24

Latest

Findings
1,938
Errors
550
Warnings
1,388
Check
2.0.0

Relationship Map

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

37 nodes

Related Plugins

98
WP User Avatars

20k+ active installs

68
WC Pickup Store

2k+ active installs

36