Wordpress y los trackbacks
Sigo aproximándome cada día más a wordpress y he de confesar que esto puedo ser el comienzo de una bonita amistad.
Hoy la guerra ha sido entres los phalaxeros y los trackbacks, ¿Qué y para que? y he de confesar que me gustan, unos tipos simpáticos. Los trackbacks nos indican en cuantos blogs nuestro post ha sido referenciado, desde wordpress se indica esto en el formulario de edición, en la sección enviar trackbacks, introduces la url del post a referenciar y hecho. Como siempre comenzaron los vitores, los balcones se llenaron de pancartas alabando a wordpress y los trackbacks ¡¡VIVA LOS TRACKBACKS!! ¡¡AUPA WORDPRESS!!, hasta que a alguien se le ocurrio mirar el número de comentarios y el listado de los mismos. Los trackbacks se registran en la tabla wp_comments, y lo que les diferencia respecto a los comentarios es el campo comment_type que en el caso de los comentarios de un post esta en blanco y en el caso de los trackbacks pone el literal ‘trackback’. Pero claro, un trackback no es un comentario y la función have_comments() me dice si existen comentarios pero también trackbacks y en el caso de listado de comentarios nos puede provocar errores. Estuve investigando por google y le eche un ojo a este post , pero no me sirvio de mucho ya que esta línea ! empty($comments_by_type['comment'] es empty en el caso de los comentarios ya que los guarda como cadena vacía.
¿Solución? Usar la escoba, bueno la medio escoba eléctrica:
$totalComentarios = $wpdb->get_var(”SELECT COUNT(*) FROM $wpdb->comments WHERE comment_post_ID = ‘”.$post->ID.”‘ AND comment_approved = ‘1′ AND comment_type = ””);
de igual manera, obtenemos los trackbacks y pingbacks:
$totalTrackBacks = $wpdb->get_var(”SELECT COUNT(*) FROM $wpdb->comments WHERE comment_post_ID = ‘”.$post->ID.”‘ AND comment_approved = ‘1′ AND comment_type != ””); O esto (AND comment_type = ”trackback”);.
¿Que me ha gustado de la experiencia trackback? Que puedo relacionar post tanto internos como externos, obteniendo siempre un listado de los mismos.
Lo que siempre digo, esto ha sido parte de mi experiencia que no tiene que ser la verdad absoluta. Ya me contaréis.

