禁用WooCommerce客户帐户详细信息的电子邮件字段

时间:2017-03-31 作者:Bry Ledesma

是否有可能禁用WooCommerce客户帐户详细信息上的电子邮件字段?还是有一个钩子或动作可以做这样的事情?我只是在PHP中使用了一个预先制作的主题,没有太多。Happy Plugins尝试了这个名为“防止电子邮件更改”的插件,但没有成功。

非常感谢您的帮助。

谢谢

3 个回复
最合适的回答,由SO网友:KAGG Design 整理而成

您可以通过将此代码添加到functions.php:

function custom_override_checkout_fields( $fields ) {
    unset($fields[\'billing\'][\'billing_email\']);    
    return $fields;
}
add_filter( \'woocommerce_checkout_fields\' , \'custom_override_checkout_fields\', 1000, 1 );
但这是错误的方法,因为WooCommerce使用电子邮件通知用户订单的状态。

SO网友:Antoine Henrich

这就是我使用的。我还对注册帐户上的错误电子邮件进行了故障排除。因此,我只需禁用该字段并将其设置为\'required\' => false 如果用户已登录。

if ( is_user_logged_in() ) {
    $fields[\'billing\'][\'billing_email\'] = [
        \'label\' => \'E-Mail-Adresse\',
        \'required\'  => false,
        \'custom_attributes\' => [
            \'disabled\' => \'disabled\',
        ]
    ];
} else {
    $fields[\'billing\'][\'billing_email\'] = [
        \'label\' => \'E-Mail-Adresse\',
        \'required\'  => true,

    ];
}
希望这对其他人有帮助!

SO网友:Manuel Ruiz

我在此文件中找到:wp-content\\plugins\\woocommerce\\includes\\class-wc-countries.php:

公共职能部门get_address_fields($国家=“”,$类型=\'账单\\\')

将required设置为false,则电子邮件是可选的。