WooCommerce can show duplicate pickup choices when block-based Local Pickup and the legacy shipping-zone method are both enabled. Identify which system each choice belongs to before removing anything. Two legitimate pickup locations are not the same problem as two competing pickup methods.
WooCommerce documents this overlap in its core shipping troubleshooting guide. The safest fix is to keep the implementation that matches your checkout and fulfillment policy, then retire only the redundant configuration.
Label each choice by its source
Take a screenshot of the published checkout and record the labels the customer sees. In the checkout editor, establish whether the page uses the Checkout block or a shortcode. Do not infer that from its appearance because themes can make the layouts look similar.
Inspect both configuration areas. The block-based version has its own Local Pickup settings and location list. The legacy method is added inside shipping zones. A third-party pickup extension is a third owner and may have its own compatibility requirements.
| Choice you see |
Evidence to collect |
| Pickup selector with location choices |
Block configuration and enabled locations |
| Local Pickup listed as a zone shipping method |
Zone name and exact method instance |
| Appointment or product-specific pickup |
Extension name, version, and its settings |
Decide what the store actually promises
Ask operations whether pickup should be available to every customer or only eligible shipping regions. The block-based implementation is not restricted by shipping zones and does not require a shipping address before selecting a location. The legacy method belongs to a shipping zone.
Do not choose between them just because one hides the duplicate faster. Record required locations, pickup instructions, fees, address collection, and the tax configuration that the responsible business owner has approved. This is a configuration review, not advice about which taxes the business owes.
Selection: No redundant pickup method. Order: Chosen location is saved. Shipping: Delivery still works. Operations: Correct instructions received. Explanatory checklist, not a customer test result.
Make one reversible change on staging
Export or record the original settings. Disable only the duplicate method instance in the staging copy. Avoid deleting a shipping zone that also owns delivery methods. If custom code selects shipping methods by identifier, check that dependency before promoting the change.
Run one pickup order and one shipped order using an appropriate test payment route. For pickup, verify the chosen location in the stored order and the message received by the fulfillment team. For shipping, verify that the customer still has the intended delivery methods. A cleaner checkout is not a success if warehouse staff lose the location.
Include the awkward basket
Repeat with a guest, a returning customer, and a basket containing products that cannot use pickup in your configuration. Test switching from shipping to pickup and back. Confirm that stale address or method state does not leave the wrong total or instructions in the order.
If the entire checkout fails rather than showing a duplicate choice, use the broader WooCommerce checkout diagnostic. HandL WP can help untangle pickup configuration when core methods, extensions, and theme overrides overlap.
References reviewed October 9, 2026. Examples are explanatory, not customer test results.