我正在尝试删除结帐页面中的密码字段。
以下是我尝试的内容(代码位于我的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结帐页面删除密码字段的钩子是什么?
感谢。
答案 0 :(得分:0)
摘要
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文件中,或者放在任何插件文件中。