woocommerce-extra-checkout-fields-for-brazil icon indicating copy to clipboard operation
woocommerce-extra-checkout-fields-for-brazil copied to clipboard

Filtro woocommerce_billing_fields não funciona com os fields do plugin?

Open moisb opened this issue 4 years ago • 0 comments

Pessoal, estou tentando aplicar o seguinte código para impedir que os clientes mudem os campos Nome, Sobrenome, CPF, RG, Data de Nascimento, Sexo, E-mail e Celular se eles já tiverem sido preenchidos anteriormente. Mas o filtro funciona SOMENTE para os campos nativos do Woocommerce. Os demais campos criados pelo plugin Extra Ckeckout Fields For Brazil são ignorados:

 add_filter( 'woocommerce_billing_fields', 'filter_wc_billing_fields', 10, 1 );
 function filter_wc_billing_fields( $fields ) {
         if ( is_checkout() && is_user_logged_in() ) {
                $keys_fields = ['billing_first_name', 'billing_last_name', 'billing_cpf', 'billing_rg', 'billing_birthdate', 'billing_sex_field', 'billing_email', 'billing_cellphone'];
         foreach ( $keys_fields as $key ) {
                         if( ( $value = WC()->checkout->get_value($key) ) && ! empty( $value ) ) {
                 $fields[$key]['custom_attributes'] = ['readonly'=>'readonly'];
             }
         }
     }
     return $fields;
 }

Já tentei mudar a prioridade, mas não resolveu. Alguém consegue me ajudar? Não sou programador :(

moisb avatar Jun 15 '20 17:06 moisb