首页 > 解决方案 > 如何在 WooCommerce 结帐中编辑我的帐户部分?

问题描述

我已经自定义了我的 WooCommerce 结帐functions.php以禁用所有帐单地址字段,因为我的 Stripe 网关不需要它。

我也想允许客户在结帐时创建一个帐户,但它只要求输入用户名/密码,而 wordpress 帐户需要电子邮件。由于我在计费部分禁用了电子邮件,因此用户无法注册。

我不希望电子邮件地址保留在帐单详细信息中,因为它会始终显示。

我理想的解决方案是将它放在帐户部分。

我该怎么做

  1. 将电子邮件地址从计费移动到创建帐户部分
  2. 为帐户部分创建一个电子邮件地址字段?

任何帮助表示赞赏。

在此处输入图像描述

标签: phpwordpresswoocommercefieldcheckout

解决方案


你可以使用woocommerce_checkout_fields钩子

https://github.com/woocommerce/woocommerce/blob/4.1.0/includes/class-wc-checkout.php#L265

  • 获取结帐字段数组。

将以下代码添加到functions.php

// Add field
function filter_woocommerce_checkout_fields( $fields ) {    
    $fields['account']['billing_email'] = array(
        'label'        => __('E-mailadres', 'woocommerce'),
        'required'     => true,
        'type'         => 'email',
        'class'        => array('form-row-wide'),
        'validate'     => array('email'),
        'autocomplete' => 'email'
    );

    return $fields;
}
add_filter( 'woocommerce_checkout_fields' , 'filter_woocommerce_checkout_fields', 10, 1 );

推荐阅读