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.