Product Layouts for WooCommerce

Create impressive, lightweight, responsive WooCommerce product layouts. Compatible with popular themes & page builders.

v1.4.3OxilabUpdated Added 1k+ installs100% rating
74
Score
5
Errors
75
Warnings
+0
Change

Category Scores

Security64
Repo100
Performance98
Maintainability70

Issues to Review

Prioritized issue groups from the latest Plugin Check scan

80 findings

Maintainability

73

12 issue groups

Security

6

4 issue groups

Performance

1

1 issue group

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

Sample message

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

WARNINGMaintainabilityslow db query meta keyDetected usage of meta_key, possible slow query.6
Category
Maintainability
Occurrences
6
Severity
warning

Sample message

Detected usage of meta_key, possible slow query.

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

Sample message

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

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

Sample message

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

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

Sample message

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

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

Sample message

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

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

Sample message

Processing form data without nonce verification.

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

Sample message

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

WARNINGSecurityDatabase parameter is not escapedUnescaped parameter $table used in $wpdb->get_results()\n$table assigned unsafely at line 92.1
Category
Security
Occurrences
1
Severity
warning

Sample message

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

Show 7 more
WARNINGSecurityInterpolated SQL is not prepared1
Category
Security
Occurrences
1
Severity
warning

Sample message

Use placeholders and $wpdb->prepare(); found interpolated variable {$table} at "SELECT id, name, style_name FROM {$table} ORDER BY id DESC"

WARNINGMaintainabilityslow db query meta query1
Category
Maintainability
Occurrences
1
Severity
warning

Sample message

Detected usage of meta_query, possible slow query.

WARNINGMaintainabilityslow db query tax query1
Category
Maintainability
Occurrences
1
Severity
warning

Sample message

Detected usage of tax_query, possible slow query.

ERRORMaintainabilityNon Enqueued Stylesheet1
Category
Maintainability
Occurrences
1
Severity
error

Sample message

Stylesheets must be registered/enqueued via wp_enqueue_style()

WARNINGPerformancePost Not In post not in1
Category
Performance
Occurrences
1
Severity
warning

Sample message

Using exclusionary parameters, like post__not_in, in calls to get_posts() should be done with caution, see https://wpvip.com/documentation/performance-improvements-by-removing-usage-of-post__not_in/ for more information.

WARNINGMaintainabilitymismatched plugin name1
Category
Maintainability
Occurrences
1
Severity
warning

Sample message

Plugin name "Product Layouts for WooCommerce" is different from the name declared in plugin header "Product Layouts for Woocommerce".

WARNINGMaintainabilitymissing composer json file1
Category
Maintainability
Occurrences
1
Severity
warning

Sample message

The "/vendor" directory using composer exists, but "composer.json" file is missing.

External Connections

Potential connections found in static code analysis.

54 domains

Outbound calls

266

External assets

6

Incoming endpoints

28

Notable Domains

product-layouts.com14 · outbound
oxilab.dev13 · outbound
jqueryui.com11 · outbound
youtu.be9 · outbound
freemius.com8 · outbound
api.jqueryui.com7 · outbound

Platform / Reference Domains

gnu.org98 · platform/reference
github.com16 · platform/reference
wordpress.org11 · platform/reference
w3.org6 · platform/reference
opensource.org4 · platform/reference
api.wordpress.org2 · platform/reference
make.wordpress.org2 · platform/reference
core.trac.wordpress.org1 · platform/reference

External Asset Domains

fonts.googleapis.com2 · asset + outbound
youtube.com2 · asset + outbound

Incoming Endpoints

wp_ajax_nopriv_wpte_compare_product_removepublic

wp_ajax

wp_ajax_nopriv_wpte_load_filter_productpublic

wp_ajax

wp_ajax_nopriv_wpte_load_product_based_on_categorypublic

wp_ajax

wp_ajax_nopriv_wpte_product_compare_popuppublic

wp_ajax

wp_ajax_nopriv_wpte_product_load_morepublic

wp_ajax

wp_ajax_nopriv_wpte_product_paginationpublic

wp_ajax

Admin AJAX endpoints20
admin_post_fs_clone_resolutionauthenticated

admin_post

wp_ajax_fs_dismiss_notice_action_{$ajax_action_suffix}authenticated

wp_ajax

wp_ajax_fs_toggle_debug_modeauthenticated

wp_ajax

wp_ajax_wpte_clone_layoutauthenticated

wp_ajax

wp_ajax_wpte_compare_product_removeauthenticated

wp_ajax

wp_ajax_wpte_create_new_layoutauthenticated

wp_ajax

wp_ajax_wpte_delete_shortcodeauthenticated

wp_ajax

wp_ajax_wpte_editor_update_formauthenticated

wp_ajax

wp_ajax_wpte_get_productcauthenticated

wp_ajax

wp_ajax_wpte_load_filter_productauthenticated

wp_ajax

wp_ajax_wpte_load_product_based_on_categoryauthenticated

wp_ajax

wp_ajax_wpte_preview_frameauthenticated

wp_ajax

8 more hidden

Score History

First score snapshot

v1.4.3

74

Latest

Findings
80
Errors
5
Warnings
75
Check
2.0.0

Relationship Map

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

37 nodes

Related Plugins