Temas (X) Comentarios en WordPress
Vamos a proceder a introducir los comentarios en WordPress, para ello seguiremos los siguientes pasos:
En el archivo single.php introduciremos las líneas 9 a 11
<?php get_header() ?> <?php if(have_posts()) : while (have_posts()) : the_post(); ?> <article> <h1><?php the_title();?></h1> <small><?php the_time(get_option('date_format'));?> <?php the_category(', ');?></small> <?php the_content();?> </article> <?php endwhile; endif;?> <div id="comentarios"> <?php comments_template(); ?> </div> </section> <?php get_sidebar() ?> <?php get_footer() ?>
Con esto lo que hacemos es que aparezcan los comentarios que pertenecen al artículo y además mostrar un formulario para poder dejar un comentario e incluso si estamos conectados en el sistema nos reconoce, por lo que no nos solicita algunos datos y nos permite hacer un comentario con nuestro usuario.
Aunque es cierto que la función comments_template(); está obsoleta en el sentido de que por si misma puede dejar de dar soporte, y de hecho si tenemos activo el depurador dentro de WordPress nos aparecerá una advertencia similar a esta:
Notice: Tema sin comments.php ha quedado obsoleto desde la versión 3.0 y no hay alternativas disponibles. Por favor, incluye la plantilla comments.php en tu tema in C:\xampp\htdocs\wppracticas2\wp-includes\functions.php on line 3512
De modo que debemos de evitar que esto ocurra.
Afortunadamente la misma función comments_template(); sirve para buscar en nuestro tema la plantilla comments.php que puede ser muy complicada, de hecho es una de las más complejas, pero que para nuestro objetivo que es, obtener los comentarios, mostrarlos y poder escribirlos se hace de forma sencilla. Tan solo debemos de utilizar el siguiente código:
<?php if(have_comments() ) {?> <h3><?php comments_number( __('Aún no hay comentarios', 'vo'), //texto que aparece cuando no hay comentarios __('Hay un comentario publicado', 'vo'), //texto que aparece cuando solo hay 1 comentari __('Hay % comentarios', 'vo') );?> </h3> <ul> <?php //crea la lista de los comentarios wp_list_comments(); ?> </ul> <?php //crea enlaces a los comentarios anteriores y posteriores paginate_comments_links(); } comment_form(); ?>
- Comprobamos que haya comentarios por medio de un if, y si los hay ejecutamos el código, de lo contrario solo mostramos la posibilidad de dejar un comentario.
- Hemos utilizado una función llamada comments_number() que tiene tres argumentos, para ningún comentarios, para un comentario o para X comentarios, donde se obtiene el número por medio de % (Estas cadenas las hemos puesto traducibles). Si nos fijamos esta función se encuentra dentro de una lista <ul></ul> y eso es debido a que sus elementos son elementos <li> de una lista.
- Tras esto obtenemos el listado de los comentarios a través de wp_list_comments()
- Y los paginamos si superan los 50 con la función paginate_comments_links()
- Finalmente creamos el formulario para dejar un comentario, por medio de la función comment_form()
There is One Comment.