Artículos Relacionados por Etiquetas

Al final de nuestros posts, siempre es agradable para el lector tener una lista de artículos relacionados, por si deseara continuar su búsqueda en nuestro blog. Aprovechando el sistema de etiquetas que WordPress nos brinda, podremos, con el siguiente código, disponer de tal lista.

A notar que estaremos tabajando aquí con etiquetas y no categorías, que requerirían otro código (y que en nuestro siguiente artículo desvelaremos), y que por tanto cuantos más artículos compartan etiqueta, más útil sera el plan:

<?php
//for use in the loop, list 5 post titles related to first tag on current post
$backup = $post; // backup the current object
$tags = wp_get_post_tags($post->ID);
if ($tags) {
echo 'Related Posts';
$first_tag = $tags[0]->term_id;
$args=array(
'tag__in' => array($first_tag),
'post__not_in' => array($post->ID),
'showposts'=>5,
'caller_get_posts'=>1
);
$my_query = new WP_Query($args);
if( $my_query->have_posts() ) {
while ($my_query->have_posts()) : $my_query->the_post(); ?>
<p><a href="<?php the_permalink() ?>" rel="bookmark" title="Permanent Link to <?php the_title_attribute(); ?>"><?php the_title(); ?></a></p>
<?php
endwhile;
}
}
$post = $backup; // copy it back
wp_reset_query(); // to use the original query again
?>

Vamos simplemente a pastear éste código dentro del Loop de nuestro single.php, o index.php, según queramos mostrarlo en la página principal de nuetsro site debajo de cada último artículo, o/y en la página singular correspondiente.

Gracias a Mike por este gran código.

Comentarios
  1. JavaPez

    EL código funciona de diez! ¿Se puede hacer con imagenes?

    Escrito el13/10/2009
  2. Ignacio

    Hola Java, gracias por comentar ! Sí, sí se podría hacer con imágenes, si usas campos personalizados. Debajo de php the_title, que es lo que nos imprimirá el título clickable, tendrías que añadir una llamada a un campo personalizado.

    Así, si escribiendo el post entras un campo llamado “picture”, y le asignas como valor un tag de imagen en html con su URL entera, podrías añadir a nuestro código lo siguiente :

    <?php echo get_post_meta($post->ID, "picture", true); ?>

    Escrito el13/10/2009
  3. JosCH

    Excelente aporte JavaPez, me funciono de maravilla, excelente opción para no instalar plugins y le damos otros uso a las Tag.

    Escrito el19/10/2009
  4. Pablo

    Hola, gracias por compartirlo; pero me parece que el codigo solo lee la primera etiqueta del post. Se puede hacer que coja todas las etiquetas?

    Saludos

    Escrito el30/03/2010
  5. Pablo

    En el mismo topic del foro donde esta el codigo, alguien puso el codigo editado y ya me muestra mas posts relacionados con las otras etiquetas.

    Escrito el30/03/2010
  6. David

    Hola, es posible aplicar este código en el sidebar? Para que los resultados salgan en él, en lugar del final del post

    Gracias

    Escrito el25/01/2012

DEJA TU COMENTARIO