Flexible Checkout Fields for WooCommerce – WooCommerce Checkout Manager

The best WooCommerce checkout manager. Edit, remove or add checkout fields. Customize WooCommerce checkout with this checkout field customizer.

v4.1.38wpdeskUpdated Added 80k+ installs94% rating100% support resolved
35
Score
64
Errors
64
Warnings
+0
Change

Category Scores

Security0
Repo89
Performance100
Maintainability56

Issues to Review

Prioritized issue groups from the latest Plugin Check scan

128 findings

Maintainability

78

12 issue groups

Security

28

7 issue groups

I18n

18

6 issue groups

WARNINGMaintainabilityNon Prefixed Variable FoundGlobal variables defined by a theme/plugin should start with the theme/plugin prefix. Found: "$attr_key".33
Category
Maintainability
Occurrences
33
Severity
warning

Sample message

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

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

Sample message

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

ERRORMaintainabilitystrip tags strip tagsstrip_tags() is discouraged. Use the more comprehensive wp_strip_all_tags() instead.13
Category
Maintainability
Occurrences
13
Severity
error

Sample message

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

ERRORI18nText Domain MismatchMismatched text domain. Expected 'flexible-checkout-fields' but got 'woocommerce'.9
Category
I18n
Occurrences
9
Severity
error

Sample message

Mismatched text domain. Expected 'flexible-checkout-fields' but got 'woocommerce'.

WARNINGSecurityMissingProcessing form data without nonce verification.8
Category
Security
Occurrences
8
Severity
warning

Sample message

Processing form data without nonce verification.

ERRORSecurityOutput Not EscapedAll output should be run through an escaping function (see the Security sections in the WordPress Developer Handbooks), found '$return'.7
Category
Security
Occurrences
7
Severity
error

Sample message

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

WARNINGSecurityRecommendedProcessing form data without nonce verification.6
Category
Security
Occurrences
6
Severity
warning

Sample message

Processing form data without nonce verification.

ERRORMaintainabilitydate datedate() is affected by runtime timezone changes which can cause date/time to be incorrectly displayed. Use gmdate() instead.4
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.

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

Sample message

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

WARNINGMaintainabilityNon Prefixed Function FoundFunctions declared in the global namespace by a theme/plugin should start with the theme/plugin prefix. Found: "get_flexible_checkout_fields_pro_plugin".3
Category
Maintainability
Occurrences
3
Severity
warning

Sample message

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

Show 15 more
ERRORSecurityException Not Escaped3
Category
Security
Occurrences
3
Severity
error

Sample message

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

WARNINGI18nload plugin textdomain Found2
Category
I18n
Occurrences
2
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.

WARNINGSecurityMissing Unslash2
Category
Security
Occurrences
2
Severity
warning

Sample message

$_POST[$field_key] not unslashed before sanitization. Use wp_unslash() or similar

WARNINGMaintainabilityslow db query meta key1
Category
Maintainability
Occurrences
1
Severity
warning

Sample message

Detected usage of meta_key, possible slow query.

WARNINGMaintainabilityslow db query meta value1
Category
Maintainability
Occurrences
1
Severity
warning

Sample message

Detected usage of meta_value, possible slow query.

WARNINGMaintainabilityNon Prefixed Constant Found1
Category
Maintainability
Occurrences
1
Severity
warning

Sample message

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

WARNINGMaintainabilityNon Prefixed Hookname Found1
Category
Maintainability
Occurrences
1
Severity
warning

Sample message

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

WARNINGMaintainabilityVariable Constant Name Found1
Category
Maintainability
Occurrences
1
Severity
warning

Sample message

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

WARNINGSecuritywp redirect wp redirect1
Category
Security
Occurrences
1
Severity
warning

Sample message

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

WARNINGSecurityInput Not Sanitized1
Category
Security
Occurrences
1
Severity
warning

Sample message

Detected usage of a non-sanitized input variable: $_POST[$field_key]

ERRORMaintainabilityparse url parse url1
Category
Maintainability
Occurrences
1
Severity
error

Sample message

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

WARNINGMaintainabilityNot In Footer1
Category
Maintainability
Occurrences
1
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.

ERRORI18nMissing Translators Comment1
Category
I18n
Occurrences
1
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.

ERRORI18nNon Singular String Literal Domain1
Category
I18n
Occurrences
1
Severity
error

Sample message

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

ERRORI18nNon Singular String Literal Text1
Category
I18n
Occurrences
1
Severity
error

Sample message

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

Score History

2 score snapshots

+0
1007550250Jun 20, 2026, 12:53 AM UTC Score 35/100 Plugin v4.1.37 Plugin Check 2.0.0 64 errors, 64 warningsJun 21, 2026, 02:12 AM UTC Score 35/100 Plugin v4.1.38 Plugin Check 2.0.0 64 errors, 64 warningsJun 20, 2026Jun 21, 2026

v4.1.38

35

Latest

Findings
128
Errors
64
Warnings
64
Check
2.0.0

v4.1.37

35

Score

Findings
128
Errors
64
Warnings
64
Check
2.0.0

Related Plugins

MB Elementor Integration

2k+ active installs

98
CubeWP Forms

4k+ active installs

97
MB Rest API

1k+ active installs

97
Custom Shortcodes

6k+ active installs

96
Edit Custom Fields

2k+ active installs

96