首页 文章

删除woocommerce结帐页面中的密码字段

提问于
浏览
1

我正在尝试删除结帐页面中的密码字段 .

这是我尝试过的(代码在我的 functions.php 主题文件中):

// Hook in
add_filter( 'woocommerce_default_address_fields' , 'custom_override_default_address_fields' );

// Our hooked in function - $address_fields is passed via the filter!
function custom_override_default_address_fields( $address_fields ) {
     $checkout_fields['account']['required'] = false;

     return $checkout_fields;
}

但它没有用 .

在woocommerce结帐页面中删除密码字段的钩子是什么?

谢谢 .

1 回答

  • 0

    hook woocommerce_default_address_fields仅用于默认地址字段,不用于帐户字段 .

    要使密码字段可选,您应该使用 woocommerce_checkout_fields hook,这样:

    add_filter( 'woocommerce_checkout_fields' , 'custom_override_checkout_fields' );
    function custom_override_checkout_fields( $fields ) {
         // There is 2 password fields
         fields['account']['account_password']['required']  = false;
         fields['account']['account_password-2']['required'] = false;
    
         return $fields;
    }
    

    要删除这些密码字段,您应该以这种方式使用 unset() PHP函数:

    add_filter( 'woocommerce_checkout_fields' , 'custom_override_checkout_fields' );
    function custom_override_checkout_fields( $fields ) {
         unset($fields['account']['account_password']);
         unset($fields['account']['account_password-2']);
    
         return $fields;
    }
    

    但我不确定这是否真的可行,因为它是WooCommerce结帐过程中必须的,当您启用了在结帐页面注册的选项时......

    代码放在活动子主题(或主题)的function.php文件中,或者放在任何插件文件中 .


    Official Reference: Customizing checkout fields using actions and filters

相关问题