A WooCommerce update can expose previously unset checkout-field defaults and unexpectedly block customers from completing purchases. In one urgent support case, checkout began requiring a phone number after an overnight update, even though the site had historically allowed orders without one.
An HPOS “sync on read” notice appeared at the same time, so HPOS was initially suspected. However, the developer specifically advised against changing HPOS configuration while investigating because order data could be affected. The documented resolution was much simpler: the WooCommerce phone-field setting was made optional by updating the underlying checkout option directly in the database. After that change, checkout succeeded with the phone fields empty.
Issue background
A B2B WooCommerce site suddenly began blocking checkout after a batch of overnight plugin updates. Customers received an error indicating that a phone number was required, even though the site’s billing and shipping workflow had previously allowed checkout without that information.
At the same time, WooCommerce displayed an administrative notice stating that HPOS order “sync on read” had been disabled. Because both changes appeared after the same update window, the HPOS notice initially looked like a possible explanation for the checkout failure.
The recent update activity included WooCommerce along with several related plugins and site components. That made it important to isolate the actual behavior change rather than immediately reverting or reconfiguring multiple systems.
Diagnosis
The first priority was to restore checkout without risking order data.
Although HPOS was discussed as a possible cause, the developer recommended not changing the HPOS configuration during the initial response. Re-enabling sync behavior can affect how order data is synchronized, especially on sites with custom code or plugins that write outside WooCommerce’s preferred CRUD layer.
Further review pointed instead to WooCommerce’s checkout-field behavior. According to the developer’s investigation, older versions had effectively treated the phone field as optional for this site, while the newer version defaulted to requiring it because the site had never explicitly saved an override.
That meant the update did not necessarily break the checkout template itself. It exposed a stricter default that the site had previously never needed to define explicitly.
Resolution steps
The documented fix followed a focused path:
- Confirm the blocking validation. The team verified that checkout was failing because WooCommerce was requiring a phone number.
- Do not make HPOS changes without confirming the cause. The HPOS warning was visible, but the developer deliberately avoided changing HPOS settings during the urgent fix because of the potential impact on order data.
- Identify the WooCommerce checkout-field setting. The developer determined that the relevant phone-field requirement could be controlled through WooCommerce’s checkout configuration.
- Set the phone field to optional. Rather than saving the change through the Customizer, the developer updated the underlying option directly in the database.
- Retest with phone values removed. The affected user removed both billing and shipping phone numbers from the test account and successfully completed checkout.
- Confirm the normal admin location for the setting. The developer noted that the corresponding UI is located under Appearance > Customize > WooCommerce > Checkout, even though the emergency fix itself was applied through a direct options update.
- Review custom integrations separately if HPOS warnings persist. If a site relies on custom code or plugins that modify orders outside WooCommerce CRUD objects, those integrations should be reviewed independently rather than assuming the phone-field issue and the HPOS notice share the same root cause.
The task also referenced WooCommerce’s recommendation to move custom order integrations toward the WooCommerce CRUD objects layer instead of writing directly to the posts database or using generic WordPress functions. That is a longer-term compatibility consideration, not the documented emergency fix for this checkout issue.
Final outcome
The checkout block was resolved after the phone-field requirement was changed to optional. Testing confirmed that an order could be completed with both billing and shipping phone values removed.
No HPOS setting change was documented as part of the resolution, and the task does not establish HPOS as the root cause. The safest conclusion is that the WooCommerce update exposed a stricter checkout-field default that had not previously been explicitly configured on the site.
The broader lesson is to separate simultaneous update notices from confirmed causes. When WooCommerce checkout suddenly starts requiring a field after an update, inspect the field configuration and test the validation directly before changing HPOS or other order-storage settings.
If a WooCommerce update has blocked checkout, changed required fields, or exposed HPOS compatibility concerns on your site, contact Freshy. Our WordPress team can help diagnose checkout validation, WooCommerce settings, custom integrations, and HPOS-related compatibility issues.