How to Hide Shipping Address Fields When
Customers Choose Local Pickup in WooCommerce
Asking customers for a shipping address when they have already chosen to pick up their order is confusing, trust-damaging, and completely unnecessary. This guide shows you exactly how to hide those fields — and what to show instead.
Updated 2026
Checkout Conversion Guide
There is a specific moment of confusion that happens at the WooCommerce checkout page that many store owners have noticed but not necessarily connected to their cart abandonment rate. A customer selects “Local Pickup” as their shipping method — they are planning to come into the shop or warehouse, pick up their order, and be done with it. Then the checkout form continues asking for their street address, city, state, postcode, and phone number. Fields designed for an order that is being shipped somewhere. Fields that have no relevance to a customer who is coming to collect in person.
The customer pauses. Are they supposed to fill this in? Is the system not recognising that they chose pickup? Is something going to get shipped anyway? They fill in the fields anyway because the form seems to require it, or they abandon because the form feels wrong and they have lost confidence in the checkout process. Either outcome — reluctant completion or abandonment — represents a failure of checkout design.
The fix is straightforward in principle: when a customer selects Local Pickup, the shipping address fields should disappear. When they switch back to a delivery method, those fields should reappear. The checkout form should always reflect exactly what information is actually needed for how the order will be fulfilled. This guide covers exactly how to implement this using the NEXU Advanced Checkout Field Editor with shipping method conditional logic, what to show pickup customers instead of address fields, and how to handle every scenario including mixed carts and multiple pickup locations.
Whether you run a retail store with click-and-collect, a bakery with pre-order pickup, a wholesale supplier with trade collection, or any other business model where local pickup is a meaningful part of your fulfillment options, this guide is for you.
Why WooCommerce still shows address fields after local pickup is selected
WooCommerce does have some built-in behavior related to local pickup and shipping fields — when Local Pickup is selected as the shipping method, WooCommerce removes the “Ship to a different address?” toggle and hides the separate shipping address section. This is a meaningful step, but it is not the full solution.
The billing address section — which includes street address, city, state, and postcode — remains fully visible and typically required regardless of shipping method selection. From the customer’s perspective, they selected “I will collect this myself” and the form is still asking for a delivery address in everything but name. The billing address fields are labeled as billing, but for a customer who sees them immediately after choosing pickup, they read as delivery address fields and create exactly the confusion described above.
A customer who selected local pickup and then encounters street address and postcode fields reasonably wonders whether the system recognises their method selection. Are they about to accidentally have their order shipped? Are these fields required for some other reason? Should they provide their home address or the pickup location address? This confusion costs time, creates hesitation, and significantly increases the likelihood of abandonment for customers who are not confident the process is working as they expect.
Checkout form length is directly correlated with abandonment rate. Every field a customer does not need to fill but is required or expected to complete is a speed bump on the path to purchase. A local pickup customer completing a typical WooCommerce checkout fills in five to seven address fields that serve no operational purpose for their order type. Removing those fields reduces the perceived and actual length of the checkout by roughly half for pickup customers — a meaningful reduction that directly improves conversion.
When pickup customers are required to provide address information, your order management system accumulates billing address data for orders that will never be shipped anywhere. This data clutters reports, potentially triggers automated shipping workflows incorrectly, and creates ambiguity when reviewing orders. An order flagged for local pickup but containing a full shipping address is a potential source of fulfillment errors — particularly in operations where new staff members process orders.
How shipping method conditional logic works
The mechanism that powers the local pickup field hiding is shipping method conditional logic — a specific type of conditional rule in the NEXU Advanced Checkout Field Editor that evaluates which shipping method the customer has currently selected and shows or hides fields accordingly.
When a customer visits your checkout page and changes their shipping method selection — from Standard Delivery to Local Pickup, for example — the checkout form updates in real time. No page reload. No delay. The shipping method conditional logic evaluates the new selection instantly and adjusts field visibility accordingly. Address fields that were visible a moment ago disappear. Pickup-specific fields that were hidden appear. The transition is smooth and immediate, communicating to the customer that the form understands their selection and is responding to it.

The conditional rules work bidirectionally. Each address field gets a rule: show this field when the shipping method is NOT “Local Pickup” (or equivalently: show this field when the shipping method is one of the delivery options). When the customer is on Local Pickup, the condition is not met and the field is hidden. When they select a delivery method, the condition is met and the field becomes visible. Switching back to Local Pickup hides the fields again immediately.
You can configure the address field visibility rule in two equivalent ways: “Show this field when shipping method equals [Standard Delivery / Express Delivery / any delivery option]” — or “Show this field when shipping method does NOT equal Local Pickup.” The second approach (exclusion-based) is more maintainable for stores that add new delivery options over time — a new shipping method automatically inherits the “is not Local Pickup” condition without needing to be added to an inclusion list. Use the exclusion approach if your store has or may have multiple delivery options.
Exactly which fields to hide for local pickup — and which to keep
Not all checkout fields become irrelevant when a customer chooses local pickup. Understanding which fields serve a purpose for pickup orders and which do not helps you configure the right visibility rules for each field.
What to show pickup customers instead
Removing irrelevant fields is only half the opportunity. The moment a customer selects Local Pickup, the checkout can become genuinely more useful to them by showing fields that are specifically relevant to their collection experience. These fields replace the delivery address section with something meaningful for a pickup order.
A dropdown with your available collection windows tells customers when they can come in and helps you staff and prepare orders appropriately. Options might be: Today (before 5pm) / Tomorrow morning / Tomorrow afternoon / This week — flexible. For food businesses or operations with tight preparation windows, specific time slots are more appropriate: 10am–12pm / 12pm–2pm / 2pm–4pm / 4pm–6pm. Mark as optional — customers who will just turn up should not be required to commit to a specific time.
If your business has multiple pickup locations — different store branches, a shop and a warehouse, multiple click-and-collect partner points — a dropdown field for the preferred collection point is essential. The standard WooCommerce Local Pickup shipping method does not natively present location choices in a user-friendly way for all setups. A conditional dropdown field triggered by Local Pickup selection gives customers a clean, explicit choice and ensures your team knows which location to route the order to.
For businesses offering curbside collection — restaurants, garden centres, large format retailers, click-and-collect with car park collection points — a text field for vehicle description (make, colour, or registration plate) allows staff to bring orders to the right car without the customer needing to leave their vehicle. Simple label: “Vehicle description for curbside collection (colour and make, e.g. Red Honda).” Optional and only relevant for businesses with genuine curbside operations.
For businesses where a different person may collect the order on the buyer’s behalf — a partner picking up groceries, an assistant collecting supplies, a courier collecting a trade order — a nominated collector name field allows the buyer to authorize a specific person. This is particularly useful for B2B trade collections or high-value orders where identity verification at collection is part of your process. Label: “Name of person collecting (if different from you).” Keep optional — most customers will collect themselves.
Step-by-step configuration using the NEXU Checkout Field Editor
Here is the complete setup process for hiding address fields on Local Pickup and adding pickup-specific fields using the NEXU Advanced Checkout Field Editor.

Before configuring conditional rules, confirm the exact name of your Local Pickup shipping method in WooCommerce. Go to WooCommerce > Settings > Shipping and check your shipping zones. The method name you see there is what you will reference in the conditional logic rules. Common names include “Local Pickup,” “Click & Collect,” “In-Store Pickup,” or similar variations. The name must match exactly — conditional rules are case-sensitive in some implementations.
In the NEXU Checkout Field Editor, locate the billing_address_1 field (street address). Open its settings and navigate to the conditional logic section. Create a rule: show this field when the shipping method does NOT equal “Local Pickup.” This means the field is visible for all delivery methods and hidden when Local Pickup is selected. Save. The field now hides and shows based on shipping method selection in real time at checkout.
Repeat the same conditional rule for billing_address_2, billing_city, billing_state, and billing_postcode. Each of these fields gets the same condition: show when shipping method is NOT Local Pickup. Apply this rule individually to each field. Also check whether the billing_phone field should be conditional — for pickup orders, phone is useful for collection notifications but perhaps not required. If you want to make it optional rather than required for pickup, you can change its required status conditionally too.
Create the new pickup-specific fields as described in the previous section. For each one, set the inverse conditional rule: show this field when the shipping method EQUALS “Local Pickup.” This means the collection time dropdown, vehicle description, and nominated collector fields are invisible for delivery orders and appear only when Local Pickup is selected. Position these fields in the checkout form where the address section was — in the same visual area of the form, so the transition feels natural rather than jarring.
In an incognito browser, test three specific scenarios: (1) Select a delivery method at checkout — confirm all address fields are visible, required, and pickup fields are hidden; (2) Select Local Pickup — confirm address fields disappear and pickup fields appear immediately without a page reload; (3) Switch back from Local Pickup to a delivery method — confirm address fields reappear and pickup fields disappear. Complete a test order in both states to confirm required field validation and order data saving work correctly in each scenario.
Handling mixed delivery scenarios and multiple shipping zones
Most WooCommerce stores with local pickup also offer delivery options. The conditional logic configuration needs to handle several scenarios that arise when customers have both types of methods available.
If your store offers multiple delivery options alongside Local Pickup, the “show when shipping method is NOT Local Pickup” conditional rule handles all of them automatically. A customer selecting Standard Delivery, Express Delivery, or Next Day Delivery all see the address fields — the exclusion-based rule applies to all non-pickup methods without needing to list each one explicitly. When you add new delivery methods in the future, they automatically inherit this behavior.
If you have Local Pickup configured in multiple shipping zones — for example, “Local Zone A: Local Pickup” and “Local Zone B: Local Pickup” — the conditional rule needs to cover all of them. Use the exclusion approach: “show when shipping method is NOT any Local Pickup variation” by creating an OR condition covering all your pickup method names. Alternatively, use the “show when shipping method equals [delivery methods list]” inclusion approach and list only the delivery methods — any method not on the list (including all pickup variants) will trigger the hide.
Free Shipping and Flat Rate are delivery methods — they involve physical shipment to an address. Treat them identically to Standard Delivery in your conditional configuration: address fields should be visible when these methods are selected. Only “Local Pickup” (and any variant you have named for in-person collection) should trigger the address field hiding. Free Shipping that requires an address is fundamentally different from Local Pickup that does not.
The customer experience before and after: what the transition looks like
Understanding the customer journey through the improved checkout helps you appreciate why this configuration matters and communicate its value to stakeholders who might question whether it is worth implementing.
Before the configuration, a customer choosing Local Pickup at your checkout encounters: Email, First Name, Last Name, Company (optional), Country, Street Address, Apartment/Suite (optional), City, State/Province, Postcode, Phone — then attempts to place the order. Eleven fields for an order that needs zero delivery information. The customer who is confident about the process fills them all in and wonders why. The customer who is less confident wonders if they are doing something wrong.
After the configuration, the same customer selecting Local Pickup sees: Email, First Name, Last Name, Phone (optional) — and then the pickup-specific section: Preferred collection time (optional), Collection location if applicable. Four or five fields, all immediately relevant to their in-person collection. The form communicates “we know you’re coming to pick this up” and asks only what is needed for that experience. The checkout takes less than half the time and inspires considerably more confidence.
When a checkout form adapts to what a customer has selected — showing fields that are relevant to their choice and hiding fields that are not — it communicates something important: this system was built thoughtfully, by people who understand how it will be used. That perception of competence and care transfers to the store’s brand. Customers who experience a checkout form that responds intelligently to their selections are more confident in the store, more likely to complete the purchase, and more likely to return. The field visibility logic is invisible to the customer — what they experience is simply a checkout that works exactly as it should.
WooCommerce Blocks compatibility for local pickup conditional fields
For stores using the WooCommerce Blocks checkout — which is increasingly the default for newer WooCommerce installations — the shipping method conditional logic in the NEXU Advanced Checkout Field Editor works correctly in the Blocks environment. The real-time field show/hide based on shipping method selection, the required field validation state changes, and the order data saving all function as expected whether your checkout uses the classic shortcode or the Blocks-based approach.

One important note specific to the WooCommerce Blocks checkout: the Blocks checkout has its own handling of the shipping address section that partially overlaps with what the conditional field configuration does. In the Blocks environment, Local Pickup is specifically handled by the block-based checkout to minimize shipping-related UI elements — but the billing address fields (street address, city, postcode) remain visible as they do in the classic checkout. The NEXU Advanced Checkout Field Editor’s conditional rules address this gap in both environments.
How pickup order data flows through your fulfillment workflow
With the address fields hidden for pickup orders, you might wonder what the order record looks like in WooCommerce admin. The answer depends on whether the customer previously provided address information in an account or in a previous order. If they did, those stored values may still appear in the billing section of the order — even if the fields were hidden at checkout.
From a fulfillment perspective, the key data points for a Local Pickup order are the same as they have always been: customer name, order number, email for confirmation, and the items ordered. What the configuration adds is the pickup-specific data — preferred collection time, chosen pickup location, nominated collector name — now visible directly in the order details panel alongside the standard information.

Your shop or warehouse team can filter WooCommerce orders by shipping method to view all Local Pickup orders, see the collection time preference for each, and prepare orders accordingly. If you use WooCommerce order status workflows — marking orders as “Ready for Collection” once prepared — the collection time field gives you the data to prioritise preparation correctly rather than guessing which orders are needed urgently.
The complete checkout configuration for Local Pickup — hiding irrelevant address fields, adding useful pickup-specific fields, and configuring shipping method conditional logic to handle the transitions cleanly — is one of the most impactful improvements a WooCommerce store with click-and-collect can make. The NEXU Advanced Checkout Field Editor with shipping method conditional logic for WooCommerce local pickup gives you the complete toolkit to build it — shipping method triggers, field-level conditional rules, pickup-specific field creation, and full WooCommerce Blocks compatibility — without writing a line of code.
A checkout that shows the right fields for every fulfillment method — automatically
NEXU Advanced Checkout Field Editor gives you shipping method conditional logic that hides address fields for Local Pickup orders and shows pickup-specific fields instead — in real time, in both classic and Blocks checkout, with no code required.
Finally fixed that awkward checkout issue! my local pickup customers kept getting tripped up by the shipping fields, and I could tell it was costing me sales
Finally a guide that actually fixes the awkward local pickup checkout issue! The step by step instructions for hiding those unnecessary shipping fields worked perfectly on my test site.
Hey guys, quick question if a customer picks local pickup but still gets asked for shipping details, does that mean something's actually getting shipped? or is the form just glitching? kinda worried about confusing folks at checkout