04feb
21

enlaces.jpg Si eres de los que odian que los enlaces entrantes (trackbacks) se mezclen con los comentarios de tus lectores seguramente te encantará este truco a aplicar a tu plantilla.

Necesitas disponer de un WordPress alojado, y preferentemente con la versión 2.0 o superior. Deberás editar el fichero comments.php de tu plantilla así que puedes hacerlo desde el Editor de Temas (WP-Admin -> Presentación -> Editor de Temas) o descargar el fichero comments.php (localizado en /wp-content/themes/tutema/comments.php) y editarlo con tu editor de código favorito.

A continuación empezaremos a editar el código. Lo primero de too es buscar lo siguiente:

<?php foreach ($comments as $comment) : ?>

Justamente debajo del código anterior copia lo siguiente:

<?php $comment_type = get_comment_type(); ?>
<?php if($comment_type == 'comment') { ?>

Este código le dice a WordPress que mire el tipo de comentario y que si el tipo es igual a ‘comment’, o sea un comentario humano, lo muestre.

A continuación necesitamos insertar algo mas de código. Sigue buscando en el archivo comments.php hasta que veas lo siguiente:

<?php endforeach; /* end for each comment */ ?>

Pon el siguiente código justo antes del código endforeach:

<?php } else { $trackback = true; } ?>

Para terminar, necesitas colocar el código para mostrar los trackbacks, y también esconder el título de los mismos si no hay todavía ningún pingback o trackback. Pon el código justo antes de esto:

<?php else : // this is displayed if there are no comments so far ?>

Este es el código a pegar antes de lo anterior:

<?php if ($trackback == true) { ?>
<h3>Sitios que enlazan a esta entrada</h3>
<ul id=”trackbacks”>
<?php foreach ($comments as $comment) : ?>
<?php $comment_type = get_comment_type(); ?>
<?php if($comment_type != 'comment') { ?>
<li><?php comment_author_link() ?></li>
<?php } ?>
<?php endforeach; ?>
</ul>
<?php } ?>

Este código le dice a WordPress que muestre todos los comentarios que no sean del tipo ‘comment’. Esto incluye tanto pingbacks como trackbacks. Ahora observa cualquier post (puede que tengas que actualizar la cache si usas algún plugin como WP-Cache), observarás un área que muestra los comentarios y una lista de enlaces para los pingbacks y trackbacks.

Si quiere colocar los trackbacks por encima de los comentarios reales en vez de debajo, coloca el código de los trackbacks (el código anterior) justo después de esto:

<h2 id="comments"><?php comments_number('No hay comentarios', 'Un comentario', '% comentarios' );?> to “<?php the_title(); ?>

Ya está. Espero que te guste el resultado.

Vía | WPcandy

Para saber más:

  • http://www.dondado.es dondado

    Buen consejo, si mi próxima plantilla no lo trae lo implementaré. Donde se agradece mucho es en el Akismet desde la última versión

  • http://fernandotellado.com/ Fernando

    Pues no te creas que me termina de gustar la última versión. Te los separa si, pero no está fino aún el sistema.

  • Pingback: Plugins para dummies | Pitonizza punto com

  • http://www.novermod.com Novermod

    Ya quedo instalado…ahora se ve mejor!

    Saludos

  • http://pitonizza.com Pitonizza

    Gracias por explicarlo tan facil, soy recontra principiante. Sin embargo, en la nueva template que estoy implementando no encuentro el codigo:

    (alterado para que pudiera aparecer en el campo de comentarios, gracias a su maravilloso plugin que nos permite editar el comentario ;) )
    ¿Lo habré echado a perder?

  • http://www.pinturayartistas.com Cristina

    Muchas gracias. Al principio no iba pues el problema era que donde ponía `comments´ tenía que poner ‘comments’ . Comillas simples.
    Ahora a disfrutar del blogueo!!!

  • Pingback: Ping o No Ping en tus Posts | XeroBlog - Blogging - SEO - Consejos y Recursos para Bloggers

  • http://www.numisfera.com rafahsi

    Después de varios intentos por fin lo conseguí… Tenía el mismo problema con las comillas que Cristina… Una vez más, muchas gracias por tu ayuda Fernando!!

  • Pingback: Enlaces para 13 Octubre 2008 hasta 15 Octubre 2008 | YaPCi - SEO - Posicionamiento Web Canarias

  • Pingback: Zarpazos » Blog Archive » Separar comentarios y trackbacks

  • http://fernandotellado.com/ Fernando Tellado

    Solucionado lo de las comillas. He modificado el post y ahora el código está con todo correcto.

  • http://www.teyno.net hinfra

    La única pega que le veo es que cuenta los trackbacks como comentarios.

    Quiero decir, que si una entrada contiene 4 comentarios y 3 trackbacks wordpress muestra en la cabecera de los comentarios: “7 Comentarios”.

    Lo bonito sería que se mostrara “4 comentarios y 3 referencias” o algo por el estilo.

    Seguro que es fácil de implementar…

    Saludos.

  • http://ivok.ru ivokstd

    Странно, но мне кажется, что можно сделать по другому
    хотя, конечно, очень интересно. Спасибо

  • http://tercermundo.ws/jaguatelevisor Alejandro

    Gracias al tutorial lo pude implementar en mi blog… y lo combiné con los tweetbacks (tweets referentes al post), un nuevo plugin explicado en Smashing Magazine, para el que le interese: http://www.smashingmagazine.com/2009/01/09/tweetbacks-plugin-for-wordpress/

  • http://Hikari.ws Hikari

    Bem interessante, valeu

  • http://sinconfirmar.com.ar sin confirmar

    genial.. ya lo pongo en mi sitio

  • Pingback: Separar Comentarios y Trackbacks | Ayuda WordPress

  • http://vidaextrema.org/ Miguel

    Excelente consejo. Lo he implementado en mi plantilla y la verdad, me a gustado como se ve.

    Gracias por tan buena información Fernando.

  • http://www.maxorchuck.com MaxorChuck

    Gracias por el truco me funciono

  • http://www.quatomagazine.com.ar Franco

    Tengo problemas para separar los comentarios y trackbacks en el theme de mi blog, ya que no usa la funcion foreach. ¿Alguien me puede ayudar?

  • http://www.andy21.com/ Andy Garcia

    A mi me pasa igual que mi plantilla no tiene foreach, ¿es posible que esa forma de mostrarlos haya quedado obsoleta?