WooCommerce 11.1 changes the quantity stepper source order to match its visual order. Stores that sell weight, length, area, or fractional packs also rely on custom decimal parsing, locale separators, step values, price calculations, and analytics. A theme script tied to the old sibling order may parse 1,5 as 15, round 0.25 to 0, emit duplicate input events, or display one value while the cart stores another.
Use this for food, fabric, flooring, wholesale, measurement-price, bundles, subscriptions, product tables, quick view, mini-cart, and custom quantity plugins supporting fractional amounts.
Quick answer
Define exact fixtures such as min 0.25, step 0.25, max 10, then test dot and comma locales with buttons, direct typing, paste, keyboard arrows, mobile numeric keyboards, rapid input, cart reload, checkout, order storage, refund, email, and analytics. Capture the raw DOM value, normalized request value, cart quantity, line total, tax, stock deduction, order item quantity, and event payload. Fix parsing once at the boundary and keep decimal precision consistent end to end.
What to check first
- Record min, max, step, inputmode, locale, decimal separator, precision, pricing unit, and stock unit for each product fixture.
- Test plus, minus, typing, paste, arrows, blur, invalid text, rapid clicks, disabled state, and boundary values in dot and comma locales.
- Compare input value, request payload, cart session, line total, tax, stock reservation, order item, refund, email, export, and analytics.
- Search theme and extension code for parseInt, parseFloat, replace, sibling selectors, delegated handlers, and duplicate change or input listeners.
- Test product, variation, bundle, subscription, quick view, product table, cart, mini-cart, checkout, mobile, RTL, and reload surfaces.
Test scenarios to run
Run the same controlled fixture across these branches. Write down the expected result before testing so a surprising response is easy to identify.
| Scenario | Fixture | Expected result |
| Dot locale | 0.25 + 0.25 | 0.50 stored and priced |
| Comma locale | 1,5 direct input | 1.5 normalized once |
| Rapid plus | Three accepted clicks | One final quantity and total |
| Invalid boundary | 10.25 over max | Clear rejection, no mutation |
Decision rule
Promote the update when every accepted decimal quantity is displayed, submitted, priced, reserved, stored, refunded, exported, and reported consistently in both dot and comma locales.
Safe fix order
Use a sequence that makes each result easy to prove. Stop when new evidence changes the scope or owner of the problem.
- Freeze locale, precision, product, stock, and pricing fixtures.
- Replace positional selectors and integer parsing with one locale-aware normalization boundary.
- Apply a single decimal precision contract through cart, stock, order, refund, export, and analytics.
- Retest every control method, surface, breakpoint, locale, and boundary.
- Monitor validation failures, rounded quantities, duplicate events, and abandoned carts after release.
Diagnostic table
Use this table to connect the observed behavior to evidence and a verification step.
| Action | Evidence to collect | How to verify |
| Freeze locale, precision, product, stock, and pricing fixtures. | Record min, max, step, inputmode, locale, decimal separator, precision, pricing unit, and stock unit for each product fixture. | Min, max, step, locale, and precision rules pass across all quantity surfaces. |
| Replace positional selectors and integer parsing with one locale-aware normalization boundary. | Test plus, minus, typing, paste, arrows, blur, invalid text, rapid clicks, disabled state, and boundary values in dot and comma locales. | One accepted interaction creates one cart mutation and one analytics event. |
| Apply a single decimal precision contract through cart, stock, order, refund, export, and analytics. | Compare input value, request payload, cart session, line total, tax, stock reservation, order item, refund, email, export, and analytics. | Line totals, tax, stock, order items, refunds, and exports reconcile exactly. |
| Retest every control method, surface, breakpoint, locale, and boundary. | Search theme and extension code for parseInt, parseFloat, replace, sibling selectors, delegated handlers, and duplicate change or input listeners. | Mobile, keyboard, RTL, bundle, subscription, and rapid-input paths remain usable. |
Useful command or data shape
Adapt paths, IDs, and privacy handling to the site before running commands or storing data on production.
fixture: fractional-fabric
locale: de_DE
min: 0.25
step: 0.25
max: 10
input: '1,50'
normalized_request: 1.5
expected_line_total: 18.00
expected_events: 1
Production verification checklist
- Min, max, step, locale, and precision rules pass across all quantity surfaces.
- One accepted interaction creates one cart mutation and one analytics event.
- Line totals, tax, stock, order items, refunds, and exports reconcile exactly.
- Mobile, keyboard, RTL, bundle, subscription, and rapid-input paths remain usable.
Why this usually happens
- A custom handler uses parseInt and drops the fractional part.
- A comma is stripped as thousands punctuation instead of normalized as a decimal separator.
- Old sibling selectors attach two handlers after the DOM order change.
- Cart, stock, and analytics round at different precision boundaries.
Field notes
- Use synthetic IDs and examples that can be traced from the first request or interaction to the final record.
- Keep a before and after result for every changed setting, package, selector, route, or deployed version.
- Separate user-visible success from internal success so a green interface cannot hide a failed request or inaccessible control.
- Review the evidence after caches, queues, browser history, and scheduled work have had time to settle.
Mistakes to avoid
- Changing production before recording exact versions, UTC timestamps, settings, stable fixture IDs, and a reproducible baseline.
- Treating one successful screen as proof that keyboard access, APIs, caches, jobs, reports, analytics, and downstream records agree.
- Testing only an administrator session instead of the devices, roles, networks, locales, and failure branches customers use.
- Closing the work without a named owner, rollback point, observation window, and contextual incoming link from an established guide.
What to tell the client or owner
Give the site owner the affected versions, exact synthetic fixture, UTC timeline, before and after evidence, cause class, decision, rollback point, unresolved risks, and next review date. State which measurements prove success and which observation window remains open.
Questions teams ask during testing
Can this be tested on production?
Use production for read-only checks and one narrow synthetic fixture that cannot charge a card, send customer email, expose personal data, or change inventory. Run upgrades, package changes, cache changes, and destructive repairs on staging first.
What evidence should the test report keep?
Keep exact versions, UTC timestamps, stable synthetic IDs, expected and actual results, screenshots or response excerpts, the decision owner, rollback point, and final verification. Redact credentials, tokens, customer data, private addresses, and infrastructure details.
How long should the observation window stay open?
Keep it open long enough to include at least one cache cycle, scheduled job cycle, and representative traffic period. For release changes, include logged-in and logged-out use plus the first real operational handoff.
When is the task complete?
Complete it when the primary user path passes, downstream records reconcile, failure branches are understood, monitoring is active, and an established owner page links to this guide in context.
When HandL WP should help
Bring in help when this affects leads, checkout, search visibility, security, paid media reporting, or a client production site. HandL WP can trace the issue through WordPress, hosting, cache, tracking, and Search Console, then verify the workflow after the technical fix.
If this is active on a production site, fix a WooCommerce quantity regression.
Related HandL WP guides
Use these related guides when the same issue touches tracking, security, checkout, or crawler visibility.
Helpful references