[X] I have carried out troubleshooting steps and I believe I have found a bug.
[X] I have searched for similar bugs in both open and closed issues and cannot find a duplicate.
Describe the bug
Under WooCommerce > Settings > General, the Thousand and Decimal separator field allows the admin to input a number as a value thus causing 1.200 to become 11200(if the thousand separator is set to 1)
Expected behavior
The expected behavior would be to not allow anything other than a dot, a comma, or any other symbol (if any) that might be used to divide thousands or decimals.
Actual behavior
The field takes any input as correct.
Steps to reproduce
Go to WooCommerce > Settings > General > Currency options
Secure connection (HTTPS): ✔
Hide errors from visitors: ✔
Active Plugins (3)
WooCommerce: by Automattic – 6.8.0
Inactive Plugins (42)
Akismet Anti-Spam: by Automattic – 5.0
AutomateWoo: by WooCommerce – 5.5.17
Code Snippets: by Code Snippets Pro – 3.2.0
Conditional Checkout Fields for WooCommerce: by FME Addons – 1.1.8
Customer Upload Files for WooCommerce: by FME Addons – 1.1.0
Free Gifts for WooCommerce: by FantasticPlugins – 8.4
Jetpack: by Automattic – 11.3-a.7
Jetpack Boost: by Automattic - Website Speed and Performance team – 1.5.1
Loco Translate: by Tim Whitlock – 2.6.2
Page Optimize: by Automattic – 0.5.2
Product Brands for WooCommerce: by WP1 – 1.2.8
Say What?: by Ademti Software – 2.0.2
Storefront Powerpack: by WooCommerce – 1.6.1 (update to version 1.6.2 is available)
WC Shipping Rates Importer: by joesat – 1.1.0
WCS staging: by mb – 1.0
WooCommerce Admin: by WooCommerce – 3.3.2
WooCommerce Blocks: by Automattic – 8.3.1
WooCommerce Composite Products: by WooCommerce – 8.5.2
WooCommerce Conditional Shipping and Payments: by WooCommerce – 1.14.0 (update to version 1.14.2 is available)
WooCommerce Deposits: by WooCommerce – 1.5.11 (update to version 1.6.1 is available)
WooCommerce Dynamic Pricing: by Element Stark – 3.1.28
WooCommerce EU VAT Number: by WooCommerce – 2.4.3 (update to version 2.5.0 is available)
WooCommerce Gift Cards: by WooCommerce – 1.12.2
WooCommerce Measurement Price Calculator: by SkyVerge – 3.20.1 (update to version 3.20.2 is available)
WooCommerce Min/Max Quantities: by WooCommerce – 2.4.25
WooCommerce PayPal Payments: by WooCommerce – 1.9.2
WooCommerce PDF Invoices: by Andrew Benbow – 4.15.6 (update to version 4.16.0 is available)
WooCommerce Pre-Orders: by WooCommerce – 1.7.2
WooCommerce Product Add-ons: by WooCommerce – 5.0.0
WooCommerce Product Bundles: by WooCommerce – 6.16.0
WooCommerce Product CSV Import Suite: by WooCommerce – 1.10.49
WooCommerce Product Recommendations: by WooCommerce – 2.1.0 (update to version 2.1.1 is available)
WooCommerce Shipment Tracking: by WooCommerce – 1.7.0 (update to version 1.7.1 is available)
WooCommerce Shipping & Tax: by WooCommerce – 1.26.3
WooCommerce Shipping Per Product v2: by WooCommerce – 2.3.18
WooCommerce Square: by WooCommerce – 3.1.0
WooCommerce Stripe Gateway: by WooCommerce – 6.6.0
WooCommerce USPS Shipping: by WooCommerce – 4.4.74 (update to version 4.5.0 is available)
WP Downgrade | Specific Core Version: by Reisetiger – 1.2.5
WPFront Scroll Top: by Syam Mohan – 2.0.7.08086
WP phpMyAdmin: by Puvox.software – 5.2.0.7
WP Rollback: by GiveWP.com – 1.7.1
Connected to WooCommerce.com: ✔
Enforce Approved Product Download Directories: –
WC Pages
Shop base: #1302 - /shop-2/
Cart: #1303 - /cart-2/
Checkout: #1304 - /checkout-2/
My account: #9 - /my-account-2/
Terms and conditions: ❌ Page not set
Theme
Name: Storefront
Version: 4.1.0 (update to version 4.1.2 is available)
Author URL: https://woocommerce.com/
Child Theme: ❌ – If you are modifying WooCommerce on a parent theme that you did not build personally we recommend using a child theme. See: How to create a child theme
WooCommerce Support: ✔
Prerequisites
Describe the bug
Under WooCommerce > Settings > General, the Thousand and Decimal separator field allows the admin to input a number as a value thus causing 1.200 to become 11200 (if the thousand separator is set to 1)
Expected behavior
The expected behavior would be to not allow anything other than a dot, a comma, or any other symbol (if any) that might be used to divide thousands or decimals.
Actual behavior
The field takes any input as correct.
Steps to reproduce
WordPress Environment
`
WordPress Environment
WordPress address (URL): https://raifdeari.mystagingwebsite.com Site address (URL): https://raifdeari.mystagingwebsite.com WC Version: 6.8.0 REST API Version: ✔ 6.8.0 WC Blocks Version: ✔ 8.0.0 Action Scheduler Version: ✔ 3.4.0 Log Directory Writable: ✔ WP Version: 6.0.1 WP Multisite: – WP Memory Limit: 512 MB WP Debug Mode: – WP Cron: ✔ Language: en_US External object cache: ✔
Server Environment
Server Info: nginx PHP Version: 7.4.30 PHP Post Max Size: 2 GB PHP Time Limit: 1200 PHP Max Input Vars: 6144 cURL Version: 7.83.1 OpenSSL/1.1.1n
SUHOSIN Installed: – MySQL Version: 5.5.5-10.4.25-MariaDB-log Max Upload Size: 2 GB Default Timezone is UTC: ✔ fsockopen/cURL: ✔ SoapClient: ✔ DOMDocument: ✔ GZip: ✔ Multibyte String: ✔ Remote Post: ✔ Remote Get: ✔
Database
WC Database Version: 6.8.0 WC Database Prefix: wp_ Total Database Size: 13.52MB Database Data Size: 8.08MB Database Index Size: 5.44MB wp_woocommerce_sessions: Data: 0.19MB + Index: 0.00MB + Engine InnoDB wp_woocommerce_api_keys: Data: 0.00MB + Index: 0.03MB + Engine InnoDB wp_woocommerce_attribute_taxonomies: Data: 0.00MB + Index: 0.00MB + Engine InnoDB wp_woocommerce_downloadable_product_permissions: Data: 0.00MB + Index: 0.06MB + Engine InnoDB wp_woocommerce_order_items: Data: 0.00MB + Index: 0.00MB + Engine InnoDB wp_woocommerce_order_itemmeta: Data: 0.08MB + Index: 0.06MB + Engine InnoDB wp_woocommerce_tax_rates: Data: 0.00MB + Index: 0.06MB + Engine InnoDB wp_woocommerce_tax_rate_locations: Data: 0.00MB + Index: 0.03MB + Engine InnoDB wp_woocommerce_shipping_zones: Data: 0.00MB + Index: 0.00MB + Engine InnoDB wp_woocommerce_shipping_zone_locations: Data: 0.00MB + Index: 0.03MB + Engine InnoDB wp_woocommerce_shipping_zone_methods: Data: 0.00MB + Index: 0.00MB + Engine InnoDB wp_woocommerce_payment_tokens: Data: 0.00MB + Index: 0.00MB + Engine InnoDB wp_woocommerce_payment_tokenmeta: Data: 0.00MB + Index: 0.03MB + Engine InnoDB wp_woocommerce_log: Data: 0.00MB + Index: 0.00MB + Engine InnoDB wp_actionscheduler_actions: Data: 0.30MB + Index: 0.00MB + Engine InnoDB wp_actionscheduler_claims: Data: 0.00MB + Index: 0.00MB + Engine InnoDB wp_actionscheduler_groups: Data: 0.00MB + Index: 0.00MB + Engine InnoDB wp_actionscheduler_logs: Data: 0.00MB + Index: 0.16MB + Engine InnoDB wp_automatewoo_abandoned_carts: Data: 0.00MB + Index: 0.08MB + Engine InnoDB wp_automatewoo_customers: Data: 0.00MB + Index: 0.09MB + Engine InnoDB wp_automatewoo_customer_meta: Data: 0.00MB + Index: 0.03MB + Engine InnoDB wp_automatewoo_events: Data: 0.00MB + Index: 0.05MB + Engine InnoDB wp_automatewoo_guests: Data: 0.00MB + Index: 0.06MB + Engine InnoDB wp_automatewoo_guest_meta: Data: 0.00MB + Index: 0.03MB + Engine InnoDB wp_automatewoo_logs: Data: 0.00MB + Index: 0.05MB + Engine InnoDB wp_automatewoo_log_meta: Data: 0.00MB + Index: 0.03MB + Engine InnoDB wp_automatewoo_queue: Data: 0.00MB + Index: 0.05MB + Engine InnoDB wp_automatewoo_queue_meta: Data: 0.00MB + Index: 0.03MB + Engine InnoDB wp_commentmeta: Data: 0.00MB + Index: 0.03MB + Engine InnoDB wp_comments: Data: 0.05MB + Index: 0.09MB + Engine InnoDB wp_FmeCCFA_fields: Data: 0.00MB + Index: 0.00MB + Engine InnoDB wp_followup_coupons: Data: 0.00MB + Index: 0.03MB + Engine InnoDB wp_followup_coupon_logs: Data: 0.00MB + Index: 0.05MB + Engine InnoDB wp_followup_customers: Data: 0.00MB + Index: 0.06MB + Engine InnoDB wp_followup_customer_carts: Data: 0.00MB + Index: 0.03MB + Engine InnoDB wp_followup_customer_notes: Data: 0.00MB + Index: 0.03MB + Engine InnoDB wp_followup_customer_orders: Data: 0.00MB + Index: 0.00MB + Engine InnoDB wp_followup_email_excludes: Data: 0.00MB + Index: 0.05MB + Engine InnoDB wp_followup_email_logs: Data: 0.00MB + Index: 0.05MB + Engine InnoDB wp_followup_email_orders: Data: 0.08MB + Index: 0.09MB + Engine InnoDB wp_followup_email_tracking: Data: 0.00MB + Index: 0.08MB + Engine InnoDB wp_followup_followup_history: Data: 0.06MB + Index: 0.05MB + Engine InnoDB wp_followup_order_categories: Data: 0.00MB + Index: 0.03MB + Engine InnoDB wp_followup_order_items: Data: 0.00MB + Index: 0.05MB + Engine InnoDB wp_followup_subscribers: Data: 0.00MB + Index: 0.03MB + Engine InnoDB wp_followup_subscribers_to_lists: Data: 0.00MB + Index: 0.03MB + Engine InnoDB wp_followup_subscriber_lists: Data: 0.00MB + Index: 0.03MB + Engine InnoDB wp_links: Data: 0.00MB + Index: 0.00MB + Engine InnoDB wp_options: Data: 0.09MB + Index: 0.11MB + Engine InnoDB wp_postmeta: Data: 0.45MB + Index: 1.45MB + Engine InnoDB wp_posts: Data: 0.45MB + Index: 0.13MB + Engine InnoDB wp_say_what_strings: Data: 0.00MB + Index: 0.00MB + Engine InnoDB wp_snippets: Data: 0.00MB + Index: 0.03MB + Engine InnoDB wp_termmeta: Data: 0.06MB + Index: 0.06MB + Engine InnoDB wp_terms: Data: 0.06MB + Index: 0.03MB + Engine InnoDB wp_term_relationships: Data: 0.06MB + Index: 0.05MB + Engine InnoDB wp_term_taxonomy: Data: 0.06MB + Index: 0.03MB + Engine InnoDB wp_usermeta: Data: 0.08MB + Index: 0.03MB + Engine InnoDB wp_users: Data: 0.00MB + Index: 0.05MB + Engine InnoDB wp_wcrp_rental_products_rentals: Data: 0.00MB + Index: 0.00MB + Engine InnoDB wp_wc_admin_notes: Data: 0.05MB + Index: 0.00MB + Engine InnoDB wp_wc_admin_note_actions: Data: 0.00MB + Index: 0.00MB + Engine InnoDB wp_wc_category_lookup: Data: 0.00MB + Index: 0.00MB + Engine InnoDB wp_wc_customer_lookup: Data: 0.00MB + Index: 0.03MB + Engine InnoDB wp_wc_deposits_payment_plans: Data: 0.00MB + Index: 0.00MB + Engine InnoDB wp_wc_deposits_payment_plans_schedule: Data: 0.00MB + Index: 0.00MB + Engine InnoDB wp_wc_download_log: Data: 0.00MB + Index: 0.03MB + Engine InnoDB wp_wc_order_bundle_lookup: Data: 0.00MB + Index: 0.09MB + Engine InnoDB wp_wc_order_composite_lookup: Data: 0.00MB + Index: 0.09MB + Engine InnoDB wp_wc_order_coupon_lookup: Data: 0.00MB + Index: 0.03MB + Engine InnoDB wp_wc_order_product_lookup: Data: 0.00MB + Index: 0.06MB + Engine InnoDB wp_wc_order_stats: Data: 0.00MB + Index: 0.05MB + Engine InnoDB wp_wc_order_tax_lookup: Data: 0.00MB + Index: 0.03MB + Engine InnoDB wp_wc_points_rewards_user_points: Data: 0.00MB + Index: 0.03MB + Engine InnoDB wp_wc_points_rewards_user_points_log: Data: 0.00MB + Index: 0.05MB + Engine InnoDB wp_wc_pos_grid_tiles: Data: 0.00MB + Index: 0.00MB + Engine InnoDB wp_wc_product_attributes_lookup: Data: 0.00MB + Index: 0.00MB + Engine InnoDB wp_wc_product_download_directories: Data: 0.00MB + Index: 0.00MB + Engine InnoDB wp_wc_product_meta_lookup: Data: 0.06MB + Index: 0.09MB + Engine InnoDB wp_wc_rate_limits: Data: 0.00MB + Index: 0.00MB + Engine InnoDB wp_wc_reserved_stock: Data: 0.00MB + Index: 0.00MB + Engine InnoDB wp_wc_tax_rate_classes: Data: 0.00MB + Index: 0.00MB + Engine InnoDB wp_wc_webhooks: Data: 0.00MB + Index: 0.00MB + Engine InnoDB wp_wc_zapier_history: Data: 0.00MB + Index: 0.00MB + Engine InnoDB wp_webis_pbet: Data: 0.00MB + Index: 0.00MB + Engine InnoDB wp_webis_pbet_order: Data: 0.00MB + Index: 0.00MB + Engine InnoDB wp_webis_pbet_order_item: Data: 0.00MB + Index: 0.00MB + Engine InnoDB wp_woocommerce_bis_activity: Data: 0.00MB + Index: 0.05MB + Engine InnoDB wp_woocommerce_bis_notifications: Data: 0.00MB + Index: 0.09MB + Engine InnoDB wp_woocommerce_bis_notificationsmeta: Data: 0.00MB + Index: 0.03MB + Engine InnoDB wp_woocommerce_bundled_itemmeta: Data: 0.05MB + Index: 0.03MB + Engine InnoDB wp_woocommerce_bundled_items: Data: 0.00MB + Index: 0.03MB + Engine InnoDB wp_woocommerce_gc_activity: Data: 0.00MB + Index: 0.06MB + Engine InnoDB wp_woocommerce_gc_cards: Data: 0.00MB + Index: 0.06MB + Engine InnoDB wp_woocommerce_gc_cardsmeta: Data: 0.00MB + Index: 0.03MB + Engine InnoDB wp_woocommerce_prl_deploymentmeta: Data: 0.00MB + Index: 0.03MB + Engine InnoDB wp_woocommerce_prl_deployments: Data: 0.00MB + Index: 0.06MB + Engine InnoDB wp_woocommerce_prl_frequencies: Data: 0.00MB + Index: 0.00MB + Engine InnoDB wp_woocommerce_prl_tracking_conversions: Data: 0.00MB + Index: 0.05MB + Engine InnoDB wp_woocommerce_shipping_table_rates: Data: 0.00MB + Index: 0.00MB + Engine InnoDB wp_woocommerce_square_customers: Data: 0.00MB + Index: 0.00MB + Engine InnoDB wp_wpml_mails: Data: 0.00MB + Index: 0.00MB + Engine InnoDB wp_wp_phpmyadmin_extension__errors_log: Data: 0.00MB + Index: 0.00MB + Engine InnoDB
Post Type Counts
attachment: 267 aw_workflow: 1 bis_price_stock: 1 customize_changeset: 3 custom_css: 1 efw_fees: 2 fgf_rules: 1 follow_up_email: 1 nav_menu_item: 38 page: 18 polylang_mo: 2 post: 11 pos_outlet: 1 pos_receipt: 1 pos_register: 1 pos_temp_order: 1 product: 270 product_variation: 42 revision: 42 shop_coupon: 3 shop_order: 34 shop_order_refund: 4 wbcr-snippets: 4 wcpf_item: 1 wcpf_project: 1 wc_order_status: 8 wp_global_styles: 2 wp_template: 1 wp_template_part: 1
Security
Secure connection (HTTPS): ✔ Hide errors from visitors: ✔
Active Plugins (3)
WooCommerce: by Automattic – 6.8.0
Inactive Plugins (42)
Akismet Anti-Spam: by Automattic – 5.0 AutomateWoo: by WooCommerce – 5.5.17 Code Snippets: by Code Snippets Pro – 3.2.0 Conditional Checkout Fields for WooCommerce: by FME Addons – 1.1.8 Customer Upload Files for WooCommerce: by FME Addons – 1.1.0 Free Gifts for WooCommerce: by FantasticPlugins – 8.4 Jetpack: by Automattic – 11.3-a.7 Jetpack Boost: by Automattic - Website Speed and Performance team – 1.5.1 Loco Translate: by Tim Whitlock – 2.6.2 Page Optimize: by Automattic – 0.5.2 Product Brands for WooCommerce: by WP1 – 1.2.8 Say What?: by Ademti Software – 2.0.2 Storefront Powerpack: by WooCommerce – 1.6.1 (update to version 1.6.2 is available) WC Shipping Rates Importer: by joesat – 1.1.0 WCS staging: by mb – 1.0 WooCommerce Admin: by WooCommerce – 3.3.2 WooCommerce Blocks: by Automattic – 8.3.1 WooCommerce Composite Products: by WooCommerce – 8.5.2 WooCommerce Conditional Shipping and Payments: by WooCommerce – 1.14.0 (update to version 1.14.2 is available) WooCommerce Deposits: by WooCommerce – 1.5.11 (update to version 1.6.1 is available) WooCommerce Dynamic Pricing: by Element Stark – 3.1.28 WooCommerce EU VAT Number: by WooCommerce – 2.4.3 (update to version 2.5.0 is available) WooCommerce Gift Cards: by WooCommerce – 1.12.2 WooCommerce Measurement Price Calculator: by SkyVerge – 3.20.1 (update to version 3.20.2 is available) WooCommerce Min/Max Quantities: by WooCommerce – 2.4.25 WooCommerce PayPal Payments: by WooCommerce – 1.9.2 WooCommerce PDF Invoices: by Andrew Benbow – 4.15.6 (update to version 4.16.0 is available) WooCommerce Pre-Orders: by WooCommerce – 1.7.2 WooCommerce Product Add-ons: by WooCommerce – 5.0.0 WooCommerce Product Bundles: by WooCommerce – 6.16.0 WooCommerce Product CSV Import Suite: by WooCommerce – 1.10.49 WooCommerce Product Recommendations: by WooCommerce – 2.1.0 (update to version 2.1.1 is available) WooCommerce Shipment Tracking: by WooCommerce – 1.7.0 (update to version 1.7.1 is available) WooCommerce Shipping & Tax: by WooCommerce – 1.26.3 WooCommerce Shipping Per Product v2: by WooCommerce – 2.3.18 WooCommerce Square: by WooCommerce – 3.1.0 WooCommerce Stripe Gateway: by WooCommerce – 6.6.0 WooCommerce USPS Shipping: by WooCommerce – 4.4.74 (update to version 4.5.0 is available) WP Downgrade | Specific Core Version: by Reisetiger – 1.2.5 WPFront Scroll Top: by Syam Mohan – 2.0.7.08086 WP phpMyAdmin: by Puvox.software – 5.2.0.7 WP Rollback: by GiveWP.com – 1.7.1
Dropin Plugins (2)
advanced-cache.php: advanced-cache.php object-cache.php: Memcached
Must Use Plugins (1)
mu-check-conflicts.php: by –
Settings
API Enabled: – Force SSL: – Currency: USD ($) Currency Position: right_space Thousand Separator: 1 Decimal Separator: 2 Number of Decimals: 2 Taxonomies: Product Types: bundle (bundle) composite (composite) external (external) grouped (grouped) photography (photography) simple (simple) subscription (subscription) variable (variable) variable subscription (variable-subscription)
Taxonomies: Product Visibility: exclude-from-catalog (exclude-from-catalog) exclude-from-search (exclude-from-search) exclude_from_catalog (exclude_from_catalog) exclude_from_search (exclude_from_search) featured (featured) outofstock (outofstock) rated-1 (rated-1) rated-2 (rated-2) rated-3 (rated-3) rated-4 (rated-4) rated-5 (rated-5)
Connected to WooCommerce.com: ✔ Enforce Approved Product Download Directories: –
WC Pages
Shop base: #1302 - /shop-2/ Cart: #1303 - /cart-2/ Checkout: #1304 - /checkout-2/ My account: #9 - /my-account-2/ Terms and conditions: ❌ Page not set
Theme
Name: Storefront Version: 4.1.0 (update to version 4.1.2 is available) Author URL: https://woocommerce.com/ Child Theme: ❌ – If you are modifying WooCommerce on a parent theme that you did not build personally we recommend using a child theme. See: How to create a child theme WooCommerce Support: ✔
Templates
Overrides: storefront/woocommerce/emails/admin-new-order.php
Admin
Enabled Features: activity-panels analytics coupons customer-effort-score-tracks experimental-products-task experimental-import-products-task experimental-fashion-sample-products experimental-product-tour shipping-smart-defaults shipping-setting-tour homescreen marketing mobile-app-banner navigation onboarding onboarding-tasks remote-inbox-notifications remote-free-extensions payment-gateway-suggestions shipping-label-banner subscriptions store-alerts transient-notices wc-pay-promotion wc-pay-welcome-page wc-pay-subscriptions-page
Disabled Features: minified-js settings
Daily Cron: ✔ Next scheduled: 2022-08-19 06:21:51 +00:00 Options: ✔ Notes: 70 Onboarding: completed
Action Scheduler
Complete: 577 Oldest: 2022-07-18 11:26:47 +0000 Newest: 2022-08-18 11:09:35 +0000
Failed: 9 Oldest: 2022-06-23 17:38:07 +0000 Newest: 2022-06-23 17:42:32 +0000
Pending: 2 Oldest: 2022-08-19 07:47:20 +0000 Newest: 2022-08-19 08:59:15 +0000
Status report information
Generated at: 2022-08-18 11:17:00 +00:00 `
Isolating the problem