Formulário de Atualização de cadastro
-
Pessoal, boa noite!
Estou inserindo alguns campos extras para o usuário editar a sua conta. Estou inserindo o código no functions.php e eles estão sendo exibidos dentro da página Minha Conta>Detalhes da Conta. Mas quando preencho os dados e clico no botão para atualizar as informações, os dados não são atualizados e os campos voltam a não ter nada preenchido, alguém pode me ajudar?
Uma outra questão, eu preciso acessar esses dados também dentro da área administrativa, quando entro no cadastro do cliente.
Segue o código:
add_action( 'woocommerce_edit_account_form', 'my_woocommerce_edit_account_form' ); add_action( 'woocommerce_save_account_details', 'my_woocommerce_save_account_details' ); function my_woocommerce_edit_account_form() { $user_id = get_current_user_id(); $user = get_userdata( $user_id ); if ( !$user ) return; $nascimento = get_user_meta( $user_id, 'nascimento', true ); $ocupacao = get_user_meta( $user_id, 'ocupacao', true ); $orientacao = get_user_meta( $user_id, 'orientacao', true ); $como = get_user_meta( $user_id, 'como', true ); $frequencia = get_user_meta( $user_id, 'frequencia', true ); $jasaiu = get_user_meta( $user_id, 'jasaiu', true ); $nome = get_user_meta( $user_id, 'nome', true ); $relate = get_user_meta( $user_id, 'relate', true ); $eassinante = get_user_meta( $user_id, 'eassinante', true ); $oqueacha = get_user_meta( $user_id, 'oqueaca', true ); // $url = $user->user_url; // $sexo = $user->user_url; ?> <p class="form-row form-row-thirds"> <label for="nascimento"><strong>Por favor, preencha os campos de pesquisa abaixo e ajude-nos a tornar nosso site cada vez melhor.</strong> </label> <p class="form-row form-row-thirds"> <label for="nascimento">Data de Nascimento:</label> <input name="nascimento" type="date" class="input-text" value="<?php echo esc_attr( $nascimento ); ?>" size="30" /> </p> <p class="form-row form-row-thirds"> <label for="ocupacao">Ocupação:</label> <input type="text" name="ocupacao" value="<?php echo esc_attr( $ocupacao ); ?>" class="input-text" /> </p> <p class="form-row form-row-thirds"> <label for="orientacao">Orientação Sexual:</label> <select name="select" name="orientacao" value="<?php echo esc_attr( $orientacao ); ?>" class="input-text" id="select"> <option>---</option> <option>Heterosexual</option> <option>Homosexual</option> <option>Bisexual</option> </select> </p> <p class="form-row form-row-thirds"> <label for="como">Como Conheceu?</label> <select name="select" name="como" value="<?php echo esc_attr( $como ); ?>" class="input-text" id="select"> <option>---</option> <option>Google</option> <option>Email Marketing</option> <option>Modelo</option> <option>Cartão</option> <option>Amigo</option> </p> </select> <p class="form-row form-row-thirds"> <label for="jasaiu">Já Saiu?</label> <input type="radio" name="jasaiu" value="sim<?php echo esc_attr( $jasaiu ); ?>" id="jasaiu_0"> Sim</label> <label> <input type="radio" name="jasaiu" value="não<?php echo esc_attr( $jasaiu ); ?>" id="jasaiu_1"> Não</label> </p> <p class="form-row form-row-thirds"> <label for="nome">Nome:</label> <input type="text" name="nome" value="<?php echo esc_attr( $nome ); ?>" class="input-text" /> </p> <p class="form-row form-row-thirds"> <label for="relate">Relate:</label> <textarea name="relate" value="<?php echo esc_attr( $relate ); ?>" class="input-text" id="relate"></textarea> <p class="form-row form-row-thirds"> <label for="eassinante">É assinante?</label> <input type="radio" name="eassinante" value="sim<?php echo esc_attr( $eassinante ); ?>" id="eassinante_0"> Sim</label> <label> <input type="radio" name="eassinante" value="não<?php echo esc_attr( $eassinante ); ?>" id="eassinante_1"> Não</label> </p> <p class="form-row form-row-thirds"> <label for="oqueacha">O que acha do nosso conteúdo?</label> <textarea name="oqueacha" value="<?php echo esc_attr( $oqueacha ); ?>" class="input-text" id="oqueacha"></textarea> <?php } function my_woocommerce_save_account_details( $user_id ) { update_user_meta( $user_id, 'nascimento', htmlentities( $_POST[ 'nascimento' ] ) ); update_user_meta( $user_id, 'ocupacao', htmlentities( $_POST[ 'ocupacao' ] ) ); update_user_meta( $user_id, 'como', htmlentities( $_POST[ 'como' ] ) ); update_user_meta( $user_id, 'frequencia', htmlentities( $_POST[ 'frequencia' ] ) ); update_user_meta( $user_id, 'jasaiu', htmlentities( $_POST[ 'jasaiu' ] ) ); update_user_meta( $user_id, 'nome', htmlentities( $_POST[ 'nome' ] ) ); update_user_meta( $user_id, 'relate', htmlentities( $_POST[ 'relate' ] ) ); update_user_meta( $user_id, 'eassinante', htmlentities( $_POST[ 'eassinante' ] ) ); update_user_meta( $user_id, 'oqueaca', htmlentities( $_POST[ 'oqueaca' ] ) ); $user = wp_update_user( array( 'ID' => $user_id, 'user_url' => esc_url( $_POST[ 'nascimento' ] ) ) ); $user = wp_update_user( array( 'ID' => $user_id, 'user_url' => esc_url( $_POST[ 'ocupacao' ] ) ) ); $user = wp_update_user( array( 'ID' => $user_id, 'user_url' => esc_url( $_POST[ 'como' ] ) ) ); $user = wp_update_user( array( 'ID' => $user_id, 'user_url' => esc_url( $_POST[ 'frequencia' ] ) ) ); $user = wp_update_user( array( 'ID' => $user_id, 'user_url' => esc_url( $_POST[ 'jasaiu' ] ) ) ); $user = wp_update_user( array( 'ID' => $user_id, 'user_url' => esc_url( $_POST[ 'nome' ] ) ) ); $user = wp_update_user( array( 'ID' => $user_id, 'user_url' => esc_url( $_POST[ 'relate' ] ) ) ); $user = wp_update_user( array( 'ID' => $user_id, 'user_url' => esc_url( $_POST[ 'eassinante' ] ) ) ); $user = wp_update_user( array( 'ID' => $user_id, 'user_url' => esc_url( $_POST[ 'oqueaca' ] ) ) ); }
Obrigado
Visualizando 1 resposta (de um total de 1)
Visualizando 1 resposta (de um total de 1)
- O tópico ‘Formulário de Atualização de cadastro’ está fechado para novas respostas.