WordPress: Mover campo de comentario despues del nombre y correo

Como notaras en las ultimas versiones de wordpress, el formulario de comentarios tiene el textarea del comentario al inicio del formulario, La decisión de mover este campo fue para poder solucionar un bug en wordpress, Anteriormente, cuando los usuarios daban clic en el botón de respuesta, eran llevados al área de texto del comentario. Si un usuario estaba en el escritorio, entonces podía ver claramente que necesitaba rellenar primero el nombre y los campos de correo electrónico. Pero en Mobile los usuarios no podían ver los campos de nombre y correo, de tal forma que el usuario podía enviar un correo  sin diligenciar dichos campos y retornaba con un error diciendo que olvido registrar los campos de nombre y correo.

Así es como se muestra por defecto el formulario de Contacto

Esto luce bien, pero cuando el cliente nos pide una ubicación diferente de los campos, es cuando nos preguntamos como podemos hacerlo, para esto, te dejo el siguiente script que nos permite hacer esto por medio del hook comment_form_fields que nos ofrece wordpress.

function wpb_move_comment_field_to_bottom( $fields ) {

$comment_field = $fields['comment'];
unset( $fields['comment'] );
$fields['comment'] = $comment_field;
return $fields;
}

add_filter( 'comment_form_fields', 'wpb_move_comment_field_to_bottom' );

Esto es todo, ahora un usuario podrá ir a realizar un comentario y vera el campo de comentario al final del formulario.

Esto esta genial, y que pasa si no solo queremos cambiar el área de texto del comentario, sino queremos modificar cada uno de los campos y quitar alguno de ellos?, para esto podemos hacer lo siguiente.

si queremos quitar alguno de los campos podemos ir al archivo comment-template.php y quitar el campo que queramos. y finalmente para modificar los campos aplicamos el siguiente codigo

function wpb_move_comment_field_to_bottom( $fields ) {
$comment_field = $fields['comment'];
$author_field = $fields['author'];
$email_field = $fields['email'];

unset( $fields['comment'] );
unset( $fields['author'] );
unset( $fields['email'] );

$fields['author'] = $author_field;
$fields['comment'] = $comment_field;
$fields['email'] = $email_field;
return $fields;
}

add_filter( 'comment_form_fields', 'wpb_move_comment_field_to_bottom' );

Como puedes notar, el truco esta en destruir los campos y volverlos a crear en el orden que necesitemos. de tal forma que combinando este truco y un poco de estilos podemos tener un resultado como el siguiente.

Comparte el conocimiento

Deja un comentario

avatar
wpDiscuz