Curiosidades Software Tutoriales WordPress

Como auto-rellenar campos en los comentarios de Worpdress

image Seguramente habrás podido comprobar que en muchos blogs cuando dejamos un comentario por primera vez, al vover a dejar otro comentario, los campos de “Nombre”, “E-mail” y “URL” suelen permanecer con los datos que hemos dejado.

Obviamente esto sucede porque dichos datos se almacenan en unas cookies en el ordenador de nuestros visitantes, a los cuales podemos acceder gracias a unas funciones en WordPress.

Esto suele ser una buena herramienta para nosotros y servir de ayuda a nuestros lectores, porque le facilitamos la tarea de no tener que volver a escribirlos.

Los valores a tener en cuenta se los localizamos en:

  • $comment_author
  • $comment_author_email
  • $comment_author_url

Nuestro objetivo sera modificar nuestro archivo comments.php para que luego de cada comentario dejado, WordPress recuerde automáticamente estos datos y se lo muestre al usuario, así este no tiene la necesidad de volver a introducirlos.

Tal y como lo mencione arriba, WordPress almacena esta información por nosotros, solo resta hacer el llamado y mostrar nuestro output y para ello empleamos la función esc_attr() de la siguiente forma:

<?php echo esc_attr($comment_author); ?>
<?php echo esc_attr($comment_author_email); ?>
<?php echo esc_attr($comment_author_url); ?>

Seguramente te estarás preguntando donde lo ubicamos, pues es muy sencillo, basta con hacerlo en la parte del formulario donde se solicitan los datos, cambiando únicamente el valor de nuestro input, por ejemplo: si dispones del mismo tema que estoy usando yo, debes hacer lo siguiente:

  • Abrir el fichero comments.php
  • Luego localizamos el siguiente código:
<p><input type="text" name="author" id="author" value="<?php echo $comment_author; ?>" size="22" tabindex="1" <?php if ($req) echo "aria-required='true'"; ?> />

<label for="author"><small>Nombre <?php if ($req) echo "(required)"; ?></small></label></p>

<p><input type="text" name="email" id="email" value="<?php echo $comment_author_email; ?>" size="22" tabindex="2" <?php if ($req) echo "aria-required='true'"; ?> /> <label for="email"><small>E-mail (no ser&#225; publicado) <?php if ($req) echo "(required)"; ?></small></label></p>

<p><input type="text" name="url" id="url" value="<?php echo $comment_author_url; ?>" size="22" tabindex="3" />
<label for="url"><small>Web/Blog</small></label></p>

 

  • A continuación modificamos el código anterior por el siguiente:
<p><input type="text" name="author" id="author" value="<?php echo esc_attr($comment_author); ?>" size="22" tabindex="1" <?php if ($req) echo "aria-required='true'"; ?> /> 
<label for="author"><small>Nombre <?php if ($req) echo "(required)"; ?></small></label></p>

<p><input type="text" name="email" id="email" value="<?php echo esc_attr($comment_author_email); ?>" size="22" tabindex="2" <?php if ($req) echo "aria-required='true'"; ?> /> <label for="email"><small>E-mail (no ser&#225; publicado) <?php if ($req) echo "(required)"; ?></small></label></p><p><input type="text" name="url" id="url" value="<?php echo esc_attr($comment_author_url); ?>" size="22" tabindex="3" />
<label for="url"><small>Web/Blog</small></label></p>

Con esto hemos conseguido recuperar los datos de las cookies y de esta forma el visitante no tiene que escribir nuevamente sus datos (Nombre, E-mail, URL)