WooCommerce简化免费结账

您所在位置:

如果您的 WooCommerce 商店偶尔会提供免费产品–无论是作为促销、免费试用还是导购磁铁的一部分–您可能已经注意到,默认结账仍会显示所有账单(和送货)字段。这给客户带来了不必要的麻烦,因为他们并不需要为了免费而输入完整的地址或付款信息。

值得庆幸的是,有一种简单的方法可以自定义这种行为,只显示您真正需要的结账字段。只需几行代码,您就可以在不需要付款时有条件地减少结账表单。这将改善用户体验,提高转化率,并保持整洁和相关性。

在本例中,当购物车总额为零时,我们将只保留账单电子邮件和账单姓名字段。您可以根据自己的需要,轻松调整该代码段以包含任何其他字段。

下面是实现的方法。

WooCommerce: 简化免费结账 (1)
WooCommerce: 简化免费结账 (1)

PHP 码段: 删除 WooCommerce 费结账时不必要的字

此代码段连接到 woocommerce_checkout_fields 过滤器,检查当前购物车是否需要付款。如果不需要,即购物车中的所有内容都是免费的,那么它就会用有限的选择来替换完整的账单字段列表。在本例中,只保留了 billing_email 和 billing_first_name 字段。

您可以调整 in_array() 列表,以包含或排除任何您想要的字段。例如,如果还需要电话号码或自定义字段,只需将其添加到数组(’billing_phone’等)中即可。

这种方法有助于简化零成本订单的结账流程,提高可用性,并在不影响常规付费结账的情况下提高赠品转化率。

 
add_filter( 'woocommerce_checkout_fields', 'bbloomer_free_checkout_display_only_these_fields', 99999999 );
 
function bbloomer_free_checkout_display_only_these_fields( $fields ) {    
    if ( WC()->cart && ! WC()->cart->needs_payment() ) {
        $free_fields = [];
        foreach ( $fields['billing'] as $key => $value ) {
            if ( in_array( $key, [ 'billing_email', 'billing_first_name' ] ) ) {
                $free_fields['billing'][$key] = $value;
            }
        }
        return $free_fields;
    }
    return $fields;
}

在哪里添加自定义代码

您应将自定义 PHP 代码放在子主题的 functions.php 中,将自定义 CSS 代码放在 style.css 中。

在领英上分享这篇文章
本篇文章内容
    Add a header to begin generating the table of contents

    联系我们

    郑州白帽子网络科技有限公司是一家专业做外贸网站建设,谷歌SEO优化、谷歌SEM推广公司。
    郑州白帽子网络科技微信图
    添加请说明需求
    郑州白帽子

    郑州白帽子

    郑州白帽子是一家提供外贸网站定制和白帽谷歌SEO优化的公司,我们会不定期的分享关于外贸的一些知识,以及如何进行外贸建站和谷歌SEO优化推广。我们的核心价值观是给客户提供价值,通过我们专业的服务让客户获得更多的询盘!了解更多关于外贸、外贸建站谷歌SEO优化推广的细节,欢迎联系我们!

    发表评论

    您的邮箱地址不会被公开。 必填项已用 * 标注

    更多文章
    WooCommerce: 防止重复订单 (1)
    外贸建站

    WooCommerce防止重复订单

    您所在位置:Home外贸建站WooCommerce防止重复订单有时,客户不小心提交了两次相同的订单,或者 Wo

    寻找并锁定合适的关键词 1
    外贸建站

    如何优化网站以SEO优化效果

    当您根据当前情况采取战略性方法时,优化网站以提升搜索引擎优化(SEO)的效果会显著提升。。。。

    滚动至顶部

    登陆

    注册