【问题标题】:Removing the password field in woocommerce checkout page删除 woocommerce 结帐页面中的密码字段
【发布时间】:2017-06-16 23:03:06
【问题描述】:

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

这是我尝试过的(代码在我的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 结帐页面中删除密码字段的钩子是什么?

谢谢。

【问题讨论】:

    标签: php wordpress woocommerce checkout hook-woocommerce


    【解决方案1】:

    钩子 woocommerce_default_address_fields 仅用于默认的地址字段,而不用于帐户字段。

    要使密码字段可选,您需要使用 woocommerce_checkout_fields 挂钩,这样:

    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 文件或任何插件文件中。


    官方参考:Customizing checkout fields using actions and filters

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-09-04
      • 2015-02-09
      • 2016-06-15
      • 2020-06-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多