Enabling Guest Checkout In WooCommerce: Bypassing Email Verification For Order Payment | Code For Developers

Enabling Guest Checkout in WooCommerce: Bypassing Email Verification for Order Payment

Enable guest payment, bypass email verification. Enhance user experience, boost conversions. Easy, efficient, and customer-friendly solution

Title: Enabling Guest Checkout in WooCommerce: Bypassing Email Verification for Order Payment

In WooCommerce, providing a seamless and convenient shopping experience is crucial for customer satisfaction. One common requirement is allowing users, even those not logged in, to complete their purchases without the hassle of email verification. In this blog post, we’ll explore a simple code snippet that achieves just that.

The Scenario:

By default, WooCommerce requires users to be logged in and verified via email before they can pay for an order. However, there are situations where you might want to enable guest checkout and skip the email verification step.

The Code:

Let’s dive into the code that makes this possible. This snippet should be added to your theme’s functions.php file or a custom plugin.

add_filter( 'user_has_cap', 'mukto_pay_for_order_if_logged_out', 9999, 3 );

function mukto_pay_for_order_if_logged_out( $allcaps, $caps, $args ) {
    if ( isset( $caps[0], $_GET['key'] ) ) {
        if ( $caps[0] == 'pay_for_order' ) {
            $order_id = isset( $args[2] ) ? $args[2] : null;
            $order = wc_get_order( $order_id );
            if ( $order ) {
                $allcaps['pay_for_order'] = true;
    return $allcaps;

add_filter( 'woocommerce_order_email_verification_required', '__return_false' );

Breaking Down the Code:

  • Filter Hook Registration:
    The code hooks into the ‘user_has_cap’ filter, which is triggered when checking if a user has a specific capability. The priority is set high to ensure it runs late in the filter chain.
  • Function Definition:
    The function mukto_pay_for_order_if_logged_out is called when the ‘user_has_cap’ filter is triggered. It modifies user capabilities based on certain conditions.
  • Granting ‘pay_for_order’ Capability:
    If the requested capability is ‘pay_for_order’ and the order exists, the function grants the capability, allowing users to pay for the order.
  • Disabling Email Verification:
    Another filter is added to disable email verification for WooCommerce orders, ensuring a smoother checkout process.

Implementing the Code:

To implement this solution, simply add the provided code to your theme’s functions.php file or create a custom plugin. Once added, users, even those not logged in, will be able to complete their orders without the need for email verification.


Enhancing the user experience in your WooCommerce store is essential for building customer loyalty. By allowing guest checkout and bypassing email verification for order payment, you can streamline the purchasing process and encourage more conversions. Use the provided code responsibly, keeping in mind the specific needs of your online store and your customers’ preferences.

Previous Code

Making Specific Products Unpurchasable or purchasable for a specific date in WooCommerce

How to make specific products not purchasable in W ...

Next Code

Adding and Removing Class Based on Element Visibility in the Viewport

Sometimes we need to dynamically manage classes ba ...

Leave a Reply

Your email address will not be published. Required fields are marked *

If you find it useful

Buy me a coffee









Replace add to cart button with the product page link & Change add to cart text

`Replace add to cart button with product single li ...

Add an additional custom checkbox in the WooCommerce checkout

Add an additional custom checkbox after the terms ...

Implementing WooCommerce Shop Page Quantity Input and Plus (+) Minus (-) Button with simple Code

Enhance the user experience on your WooCommerce we ...

How to Implement Google Ads Conversion Tracking in WooCommerce

Learn how to add Google Ads tracking code to your ...

Customizing WooCommerce Order Numbers with Prefix and Year Suffix

Customize WooCommerce order numbers your way, whet ...