首页 > 解决方案 > 在 WooCommerce 中将字段设为可选 我的帐户编辑地址

问题描述

如何仅在 WooCommerce 我的帐户编辑地址中使所有字段可选?

如何禁用所需的通知:

需要通知

以及所需的html:

所需的html

需要怎么去掉?你能帮助我吗?

标签: phpwordpresswoocommercefieldaccount

解决方案


要使所有“我的帐户”>“地址”字段可选,请使用以下内容:

// Make all My account addresses fields optional
add_filter( 'woocommerce_default_address_fields' , 'filter_my_account_addresses_fields', 999 );
add_filter( 'woocommerce_billing_fields', 'filter_my_account_addresses_fields', 999 );
function filter_my_account_addresses_fields( $fields ) {
    // Only on My account edit addresses
    if ( is_wc_endpoint_url( 'edit-address' ) ) {
        // Loop through existing fields
        foreach( $fields as $field_key => $field_data ) {
            // if they are required
            if( $fields[$field_key]['required'] ) {
                // Make them optional
                $fields[$field_key]['required'] = false;
            }
        }
    }

    return $fields;
}

// Optionaly remove ("optional)" text from My account addresses fields
add_filter( 'woocommerce_form_field' , 'remove_account_addresses_optional_fields_label', 10, 4 );
function remove_account_addresses_optional_fields_label( $field, $key, $args, $value ) {
    // Only on My account edit addresses
    if ( is_wc_endpoint_url( 'edit-address' ) ) {
        $optional = '&nbsp;<span class="optional">(' . esc_html__( 'optional', 'woocommerce' ) . ')</span>';
        $field = str_replace( $optional, '', $field );
    }
    return $field;
}

代码位于活动子主题(或活动主题)的 functions.php 文件中。测试和工作。


推荐阅读