【问题标题】:Make fields optional in WooCommerce My account edit addresses在 WooCommerce 中将字段设为可选 我的帐户编辑地址
【发布时间】:2020-10-30 12:55:58
【问题描述】:

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

如何禁用所需的通知:

以及所需的html:

如何删除必需的?你能帮帮我吗?

【问题讨论】:

    标签: php wordpress woocommerce field account


    【解决方案1】:

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

    // 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 文件中。经过测试并且可以工作。

    【讨论】:

    • 我有一个问题 付款页面上有个人和公司选项。结帐页面一切正常。但。我的帐户有地址更正选项。但无论他选择它都行不通。我能做些什么?如果您查看我们的网站,我将非常高兴。我不会有其他问题。 kukcicek.com
    • @SelmanGüneri 对不起,我没听懂……“我的帐户有地址更正选项。但他是否选择它不起作用……”是什么意思?那是什么“选项”?什么问题,能不能说的更直白一点?
    【解决方案2】:

    【讨论】:

    • 由于这不是答案,您应该将其删除并在问题末尾添加为编辑...我认为您不清楚...您要删除某些字段吗?我们不明白您的问题是什么,所以请尝试用文字来解释......完成后通知我,并在我的回答下发表评论。
    猜你喜欢
    • 2019-04-01
    • 1970-01-01
    • 2018-06-23
    • 2019-04-01
    • 2018-11-20
    • 1970-01-01
    • 2018-12-08
    • 1970-01-01
    • 2020-07-26
    相关资源
    最近更新 更多