首页 > 解决方案 > 如何将 Woocommerce 结帐页面字段设置为只读

问题描述

用于编辑woocommerce(WordPressss 插件)帐户页面字段并将其设为只读,轻松编辑woocommerce/templates/myaccount/form-edit-account.php文件,并且仅将只读添加到字段标签结尾(对不起,我的英语和编程不专业和好)

但是对于编辑woocommerce结帐页面字段并将一个或两个或多个字段(例如电子邮件字段)设置为只读,则无法执行以前的方式

请帮我做,我不知道。

如果教我从functions.php简单、更好、更持久的方式(如果可能的话)会更好。

再次感谢你

标签: woocommercehook-woocommerce

解决方案


您可以在主题的“function.php”文件中使用以下代码。

  add_action('woocommerce_checkout_fields','customization_readonly_billing_fields',10,1);
        function customization_readonly_billing_fields($checkout_fields){
            $current_user = wp_get_current_user();;
            $user_id = $current_user->ID;
            foreach ( $checkout_fields['billing'] as $key => $field ){
                if($key == 'billing_address_1' || $key == 'billing_address_2'){
                    $key_value = get_user_meta($user_id, $key, true);
                    if( strlen($key_value)>0){
                        $checkout_fields['billing'][$key]['custom_attributes'] = array('readonly'=>'readonly');
                    }
                }
            }
            return $checkout_fields;
        }

该函数将检查地址字段是否有值(即是否指定了地址),如果有值,则将该字段设为只读。否则保持字段打开以向用户添加数据。您可以对每个必填字段应用相同的概念。

希望这可以帮助。

谢谢你!


推荐阅读