WP: Ultimos comentarios s/Plugins
Escrito el 09 Apr, 2009 por Alexis en Wordpress
Seguramente mas de uno tendrá un su Blog una sección con los últimos comentarios de sus usuarios, pero sabias que es posible obtener el mismo resultado sin la necesidad de instalar un plugin?
Que ventaja puede tener esto? Simple, un mejor aprovechamiento de nuestra base de datos, al no estar instalando un plugin que puede consumir recursos de nuestro Server.
Para mostrar los último comentarios en nuestro Blog, solo debemos copiar y pegar el siguiente código:
<?php global $wpdb; $sql = "SELECT DISTINCT ID, post_title, post_password, comment_ID, comment_post_ID, comment_author, comment_date_gmt, comment_approved, comment_type,comment_author_url, SUBSTRING(comment_content,1,30) AS com_excerpt FROM $wpdb->comments LEFT OUTER JOIN $wpdb->posts ON ($wpdb->comments.comment_post_ID = $wpdb->posts.ID) WHERE comment_approved = '1' AND comment_type = '' AND post_password = '' ORDER BY comment_date_gmt DESC LIMIT 10"; $comments = $wpdb->get_results($sql); $output = $pre_HTML; $output .= "\n<ul>"; foreach ($comments as $comment) { $output .= "\n<li>".strip_tags($comment->comment_author) .":" . "<a href=\"" . get_permalink($comment->ID)."#comment-" . $comment->comment_ID . "\" title=\"on ".$comment->post_title . "\">" . strip_tags($comment->com_excerpt)."</a></li>"; } $output .= "\n</ul>"; $output .= $post_HTML; echo $output; ?>
Esto mostrara los últimos 10 comentarios en forma de lista, recomiendo “encapsularlo” dentro de un div y solo necesitaras un poco de CSS para darle formato.
Visto en: WP Recipes









cvillavicencio |21/6/2009| Site: caldito.co.cc
Genial! muchas gracias :) lo implementaré, pero no como lista, sino con un marquee loquillo, para darle un estilo casi ce-ene-enesco. jaj!
Saludos!!
Alexis |21/6/2009| Site: eliseos.net
Me alegro que haya sido útil la información
Diego |23/7/2009| Site: puraemocion.com.ar
muy bueno, lo implemente en mi sitio.. y quedo de pelos!
Alexis |23/7/2009| Site: eliseos.net
Me alegro que te haya servido
gorkreg |20/11/2009| Site: Who knows?
Gracias por el código. Lo he implementado y funciona perfectamente.
¿Hay alguna manera de que no se corten las palabras? No soy un experto en SQL (o PHP) así que ando un poco perdido ahí.
Gracias de nuevo.
Alexis |20/11/2009| Site: eliseos.net
Por defecto el código solo muestra los 30 primero caracteres.
Para mas caracteres cambia el valor
30por la cantidad de caracteres en esta linea:comment_content,1,30gorkreg |23/11/2009| Site: Who knows?
Gracias Alexis. Ya había cambiado los parámetros del SUBTRING para que apareciera más textopero ese no era mi problema. Lo que sucede es que, al aparecer solo cierto número de caracteres, a veces las palabras se cortan al final (por ejemplo “carac” en lugar de “caracteres”). Yo lo que quiero es que si hay más texto que los 100 caracters que tengo por defecto, se muestre algo así: “caracteres…”, con puntos suspensivos.
Gracias de nuevo.
Alexis |23/11/2009| Site: eliseos.net
No estoy seguro si funcionara:
SUBSTRING(comment_content,1,100) AS com_excerptgorkreg |23/11/2009| Site: Who knows?
No, no funciona. Precisamente 100 es la cantidad de caracteres a la que cambié pero siguen cortándose las palabras :-(
Alexis |23/11/2009| Site: eliseos.net
Creo que lo mejor es que busques un Plugin, ya que este código es demasiado simple y habría que re escribirlo para que muestre el
excerptEste es un Plguin que utilice en su momento:gorkreg |24/11/2009| Site: Who knows?
Gracias Alexis. Buscaré por ahí alguna solución y escribo de nuevo si encuentro algo interesante.
BadeR |20/2/2010| Site: espaciopuebla.com
Gracias! Me sirvió bastante y quedó muy bien!