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.



6 comentarios
13/10/2009
EL código funciona de diez! ¿Se puede hacer con imagenes?
13/10/2009
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); ?>
19/10/2009
Excelente aporte JavaPez, me funciono de maravilla, excelente opción para no instalar plugins y le damos otros uso a las Tag.
30/03/2010
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
30/03/2010
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.
25/01/2012
Hola, es posible aplicar este código en el sidebar? Para que los resultados salgan en él, en lugar del final del post
Gracias
Trackbacks
Deja tu comentario