WooCommerce Checkout Customization: Fields, Hooks, and Direct Checkout

WooCommerce checkout page customization comes down to three routes, ranked by skill level: a plugin (easiest, no code), editing the checkout block (moderate, visual), and hooks and code (most control, needs PHP). Pick the plugin route if you want speed and no code, the block route for visual edits on modern stores, and hooks if you need precise control. All three approaches are below, along with a hook map with snippets you can paste, direct checkout, and the changes that move conversion rather than just looking tidy.

Route 1: plugin based customization

The easiest way to customize your checkout is a plugin, which needs no code and gives you a visual interface. This route suits most store owners who want to edit fields or rearrange the checkout without touching PHP. A few types of plugin handle the common needs, and it is worth naming the ones that are actually maintained, since this corner of the plugin directory is full of abandoned options. All three below were last updated within the past few months, checked in August 2026. Checkout Field Editor and Checkout Field Manager both do the field editing job through a settings screen, and Fluid Checkout restyles the checkout into a multi step layout without code. Check the last updated date yourself before installing any of them, because a checkout plugin that has stopped tracking WooCommerce releases is the one that breaks your store on an update.

Checkout field editor plugins let you add, remove, rename, and reorder fields through a simple settings screen, which covers the most common request. Checkout customization plugins go further, letting you restyle the checkout, add sections, and change the layout visually. Funnel and direct checkout plugins can restructure the flow, such as skipping the cart.

The tradeoff is that plugins add some weight and you rely on the plugin for updates, but for non developers they are by far the fastest, safest route. Choose a current, well reviewed plugin that matches your specific need rather than a heavy all in one if you only want to edit a field or two.

Route 2: the checkout block era

This is the section that dates every old tutorial, so it matters. WooCommerce moved to a block based checkout, replacing the older shortcode checkout that most existing guides were written for. This is a significant change. The old checkout was built on a shortcode and was customized heavily through PHP hooks and template overrides. The new checkout block is built with blocks, so you can edit much of it visually in the block editor, adding and arranging blocks like you would on any page, and many customizations that once needed code can now be done visually.

The important implication is that older tutorials showing hook based or template edits may not apply to the block checkout, and some classic hooks behave differently or not at all on the block version. If your store uses the block checkout, start by trying to make your change visually in the editor, since that is now the intended way. If you use the older shortcode checkout, the classic hook methods below still apply.

Because stores can run either version, always confirm which checkout your store uses before following any tutorial, since a guide written for the shortcode checkout can waste hours on a block based store. This single distinction explains why so much old checkout content no longer works.

Before you migrate: what breaks and what to check

The block checkout is where WooCommerce is going, and the classic shortcode checkout has not been removed. Knowing the actual status stops you either panicking or leaving it too long.

The classic checkout is in maintenance mode rather than deleted. It still works, it receives security fixes, and it is not getting new features, which means the gap between it and the block version widens with every release rather than staying still.

The compatibility break is the important part. The old checkout is customised with PHP hooks and template overrides. The block checkout uses a JavaScript extensibility API instead.

So a PHP snippet that adds a field or moves a section to your classic checkout does not carry across. It is not a setting to migrate, it is code to rewrite.

Check two things before switching, in this order. First your payment gateway, because a gateway that does not support blocks will simply not appear at checkout, and most major ones do support it while smaller regional gateways are the common holdouts.

Second, every plugin that touches your checkout: field editors, shipping rules, order bumps, subscriptions, tax handling. Each one either supports blocks or it does not, and finding out on your live checkout is an expensive way to learn.

Test on a staging copy and complete a real purchase. Not a look at the page, an actual order taken through to payment and confirmation email.

Checkout is the one page where a broken state costs money the moment it happens, and it is the page least likely to be noticed by you, because you are not trying to buy anything.

Route 3: hooks and code

For maximum control on the classic shortcode checkout, hooks and code are the way. WooCommerce exposes the checkout fields through a filter, and there are action hooks at many positions on the checkout page, before and after the form, before and after customer details, and around the order review, which together form a hook map you can target. A visual diagram of these hook positions would show where each fires on the page.

Below are four copy ready snippets for the most common tasks. Add them to your child theme functions file, and always test on a staging site first, since checkout is critical and code should be verified on your current WooCommerce version before going live.

1. Add a checkout field:

add_filter( 'woocommerce_checkout_fields', 'tx_add_checkout_field' );
function tx_add_checkout_field( $fields ) {
    $fields['billing']['billing_company_size'] = array(
        'label'       => 'Company size',
        'placeholder' => 'Number of employees',
        'required'    => false,
        'class'       => array( 'form-row-wide' ),
        'priority'    => 25,
    );
    return $fields;
}

2. Remove a checkout field:

add_filter( 'woocommerce_checkout_fields', 'tx_remove_checkout_field' );
function tx_remove_checkout_field( $fields ) {
    unset( $fields['billing']['billing_company'] );
    return $fields;
}

3. Reorder checkout fields:

add_filter( 'woocommerce_checkout_fields', 'tx_reorder_checkout_fields' );
function tx_reorder_checkout_fields( $fields ) {
    $fields['billing']['billing_phone']['priority'] = 20;
    $fields['billing']['billing_email']['priority'] = 21;
    return $fields;
}

4. Add a field only for larger orders (conditional):

add_filter( 'woocommerce_checkout_fields', 'tx_conditional_field' );
function tx_conditional_field( $fields ) {
    if ( WC()->cart && WC()->cart->get_total() > 100 ) {
        $fields['billing']['billing_gift_note'] = array(
            'label'    => 'Gift note',
            'required' => false,
            'class'    => array( 'form-row-wide' ),
        );
    }
    return $fields;
}

These snippets cover the everyday needs of adding, removing, reordering, and conditionally showing fields on the classic checkout. Treat them as a starting point, adapt the field names to your store, and test thoroughly before publishing. Keep a backup of your functions file before editing, so you can quickly restore it if a snippet causes an error on your live store.

Direct checkout: skipping the cart

Direct checkout means sending customers straight from the product to the checkout, skipping the cart page. For stores where most people buy a single item, this can lift conversions by removing a step and reducing the chance a shopper abandons at the cart. You can set it up by redirecting the add to cart action to the checkout, which is available through some funnel and checkout plugins, or with a small amount of code that redirects to checkout after an item is added.

It is not right for every store, since shops where people commonly buy multiple items benefit from a cart where they review their basket. So use direct checkout when your typical order is a single product and the cart step adds friction rather than value, and keep the cart when customers usually buy several items and need to review them. Test the change and watch your conversion and abandonment before making it permanent.

Checkout changes that actually improve conversion

Not every checkout tweak helps, so focus on the changes that genuinely lift conversions. Removing unnecessary fields is one of the most reliable wins, since every extra field adds friction, so ask for only what you truly need to fulfill the order. A shorter, simpler checkout consistently converts better than a long one.

Making the checkout feel trustworthy helps too, with clear security cues and a clean, professional layout reassuring buyers at the payment step. Offering guest checkout rather than forcing account creation removes a common reason people abandon. Showing clear costs, including shipping, before the final step avoids nasty surprises that cause drop offs.

And keeping the checkout fast and mobile friendly matters, since a slow or clumsy mobile checkout loses sales. These changes tie directly to conversion rate optimization principles, covered in our guide on how CRO works. The theme throughout is to reduce friction and build trust, since a checkout that is short, clear, fast, and reassuring is what turns more visitors into buyers.

Which method to use

Customizing the WooCommerce checkout is easiest with a plugin, most modern through the checkout block, and most powerful with hooks and code, so pick the route that matches your skill and needs. Crucially, check whether your store uses the newer block checkout or the classic shortcode checkout first, since that decides which methods apply and why so many old tutorials fail. Use the code snippets for precise field control on the classic checkout, consider direct checkout for single item stores, and above all reduce friction and build trust, since that is what actually improves conversions.

Always test checkout changes on staging before going live. For related setup, see our WPForms review and CartFlows alternatives.

Frequently asked questions

How do I edit the WooCommerce checkout page?

You can edit the WooCommerce checkout page three ways: with a checkout customization plugin for a no code visual approach, by editing the checkout block directly in the block editor if your store uses the newer block checkout, or with PHP hooks and code for precise control on the classic shortcode checkout. The easiest route for most people is a plugin, while developers may prefer hooks. Check which checkout version your store uses first.

Can I customize checkout without a plugin?

Yes, you can customize the checkout without a plugin, either by editing the checkout block visually in the block editor on modern WooCommerce stores, or by adding PHP hooks and code to your child theme functions file on the classic shortcode checkout. The block route needs no code, while the hook route requires some PHP. Always test changes on a staging site first, since the checkout is critical to your store.

What are WooCommerce checkout hooks?

WooCommerce checkout hooks are points in the checkout page where you can insert or change content and fields with code. There is a filter for the checkout fields themselves, used to add, remove, and reorder fields, plus action hooks at positions like before and after the form and around customer details and order review. They apply mainly to the classic shortcode checkout, giving developers precise control over the checkout.

How do I skip the cart page?

To skip the cart page, set up direct checkout, which sends customers straight from the product to the checkout. You can do this with some funnel or checkout plugins, or with a small piece of code that redirects to the checkout after an item is added to the cart. It works best for stores where people usually buy a single item, and it is worth testing your conversion and abandonment after enabling it.

Do fewer checkout fields increase sales?

Yes, fewer checkout fields generally increase sales, because every extra field adds friction and gives shoppers another reason to abandon. Asking only for the information you genuinely need to fulfill the order shortens the checkout and improves conversion. Combined with guest checkout, clear costs, and a fast, trustworthy layout, a shorter checkout consistently performs better, so removing unnecessary fields is one of the most reliable conversion improvements you can make.

Is the WooCommerce shortcode checkout being removed?

Not removed, but in maintenance mode. WooCommerce calls it the classic checkout, it still works and receives security fixes, and it is not getting new features, so the gap between it and the block checkout widens with each release. The block checkout became the default for new installations from WooCommerce 8.3 and existing stores are prompted to migrate, so treat it as a move to plan rather than an emergency.

Will my checkout customisations still work after switching to the block checkout?

The code ones will not, because the two are customised differently. The classic checkout uses PHP hooks and template overrides, while the block checkout uses a JavaScript extensibility API, so a snippet adding or moving a field has to be rewritten rather than migrated. Before switching, check your payment gateway supports blocks, since one that does not simply will not appear, then check every plugin touching checkout. Test on staging by completing a real order through to the confirmation email.

Sandeep
Sandeep
Sandeep has worked in search engine optimisation for ten years, across technical SEO, content strategy, local search and the tools the job actually runs on. He writes and edits everything on Techno Xprt. His approach here is deliberately unglamorous: check the vendor's own pricing page rather than a roundup, confirm a feature still exists before recommending it, and go back and correct a post when the facts move. A large part of the work on this site has been exactly that, finding advice that quietly went out of date and fixing it. He writes for people doing the work themselves, small business owners and in-house marketers, rather than for other SEOs.
Recent Articles

Related Stories