• Resolved Tatitas

    (@taiswebsites)


    Olá,

    Como posso habilitar o campo celular/telefone para visualizar e editar na página My Account? Se possível, tem como o usuário somente ver o CPF que ele digitou no ato do cadastro e não conseguir editar? Praticamente todos os campos do plugin que são solicitados no momento da compra, não mostra depois no My Account e queria mostrar isso para o usuário.

    Agradeço!

Viewing 1 replies (of 1 total)
  • Thread Starter Tatitas

    (@taiswebsites)

    Bom, estudei vários códigos e cheguei em um. Vou deixar o código abaixo para ajudar outras pessoas:

    // Libera editar telefone e celular
    add_action( 'woocommerce_edit_account_form', 'add_billing_phone_to_edit_account_form' );
    function add_billing_phone_to_edit_account_form() {
        $user = wp_get_current_user();
        ?>
         <p class="woocommerce-form-row woocommerce-form-row--wide form-row form-row-wide">
            <label for="billing_phone"><?php _e( 'Celular', 'woocommerce' ); ?> <span class="required">*</span></label>
            <input type="text" class="woocommerce-Input woocommerce-Input--phone input-text" name="billing_phone" id="billing_phone" value="<?php echo esc_attr( $user->billing_phone ); ?>" />
        </p>
        <?php
    }
    
    add_action( 'woocommerce_save_account_details_errors','billing_phone_field_validation', 20, 1 );
    function billing_phone_field_validation( $args ){
        if ( isset($_POST['billing__phone']) && empty($_POST['billing_phone']) )
            $args->add( 'error', __( 'Digite seu telefone/celular', 'woocommerce' ),'');
    }
    
    add_action( 'woocommerce_save_account_details', 'my_account_saving_billing_phone', 20, 1 );
    function my_account_saving_billing_phone( $user_id ) {
        if( isset($_POST['billing_phone']) && ! empty($_POST['billing_phone']) )
            update_user_meta( $user_id, 'billing_phone', sanitize_text_field($_POST['billing_phone']) );
    }
    

    Vale lembrar que: billing_phone é para Telefone, billing_mobile_phone é para Celular (caso precise usar telefone/celular no cadastro).

Viewing 1 replies (of 1 total)
  • You must be logged in to reply to this topic.