• Olá, eu tenho uma plataforma de aulas que eu queria salvar o conteúdo de um usuário logado para que quando ele abra a página no dia seguinte o conteúdo de texto esteja do jeito que ele deixou. Sou iniciante e ao menos sei inserir campo no database. Se existe plugin pra isso não consegui encontrar tb. O que devo estudar pra começar?
    Obrigado pela atenção.

    • Este tópico foi modificado 1 ano, 10 meses atrás por rtiozzo.
Visualizando 1 resposta (de um total de 1)
  • Coloque os campos que você quer salvar dentro de um <form> e coloque um atributo name em cada campo.

    <form method="post">
      <textarea name="student_textarea"></textarea>
      <input type="hidden" name="action" value="update_student_form">
      <button type="submit">Salvar</button>
    </form>

    Feito isso, use PHP para identificar se o usuário está logado e se as informações do form foram enviadas.

    <?php
    add_action( 'init', function () {
      $action = $_POST['action'] ?? '';
    
      // cancele se o form não foi enviado
      if ( 'POST' !== $_SERVER['REQUEST_METHOD'] ) return;
    
      // confira se é aquele form mesmo que foi enviado
      if ( 'update_student_form' !== $action ) return;
    
      // cancele se o usuário não estiver logado
      if ( ! is_user_logged_in() ) return;
    
      // se estiver tudo certo, salve o campo no banco de dados
      update_user_meta( get_current_user_id(), 'student_textarea', sanitize_textarea_field( $_POST['student_textarea'] ?? '' ) );
    } );

    Para mostrar o conteúdo salvo você precisará ajustar aquele HTML do formulário:

    <form method="post">
      <textarea name="student_textarea"><?php echo esc_html( get_user_meta( get_current_user_id(), 'student_textarea', true ) ); ?></textarea>
      <input type="hidden" name="action" value="update_student_form">
      <button type="submit">Salvar</button>
    </form>

    Os códigos acima são apenas exemplos, confira as funções na documentação para você entender o que elas fazem. Recomendo que você também estude sobre “Nonces” para melhorar a segurança do seu formulário.

    • Esta resposta foi modificada 1 ano, 10 meses atrás por Luiz Bills.
Visualizando 1 resposta (de um total de 1)
  • O tópico ‘Salvar conteúdo do textarea no banco de dados’ está fechado para novas respostas.