php 如何从WooCommerce结帐结算电子邮件字段中删除星号?

dy1byipe  于 2023-11-16  发布在  PHP
关注(0)|答案(1)|浏览(107)

我设法通过下面的代码将电子邮件地址字段更改为可选字段,但我似乎无法删除结帐页面上的星号。


的数据

// Make billing email field optional at checkout
add_filter( 'woocommerce_billing_fields', 'make_billing_email_optional' );
function make_billing_email_optional( $address_fields ) {
    $address_fields['billing_email']['required'] = false;
    return $address_fields;
}

// Clear billing email when it is not provided to avoid type error
add_filter( 'woocommerce_checkout_posted_data', 'clear_billing_email' );
function clear_billing_email( $order_data ) {
    if ( isset( $order_data['billing_email'] ) && empty( $order_data['billing_email'] ) ) {
        $order_data['billing_email'] = '';
    }
    return $order_data;
}

字符串

0md85ypi

0md85ypi1#

您可以使用以下命令从特定字段中删除星号(必填):

// PHP: Remove required asterisk from specific field
add_filter( 'woocommerce_form_field' , 'remove_checkout_required_asterisk_field', 10, 4 );
function remove_checkout_required_asterisk_field( $field, $key, $args, $value ) {
    // Only on checkout page and billing email field
    if( is_checkout() && ! is_wc_endpoint_url() && $key === 'billing_email' ) {
        $required = '&nbsp;<abbr class="required" title="required">*</abbr>';
        $field = str_replace( $required, '', $field );
    }
    return $field;
}

字符串
代码放在你的子主题的functions.php文件中(或插件中)。测试和工作。

相关问题