Si eres de los que gustan de ir eliminando plugins para usar funciones ya disponibles en WordPress este es un estupendo hack que te puede ofrecer la funcionalidad de posts relacionados sin usar plugins como Related Posts u otros.
Solo tienes que añadir el siguiente código a la parte del ‘loop
‘ en la que quieres que se muestren los posts relacionados (normalmente en single.php
o index.php
):
<?php //para poner en el loop, muestra 5 titulos de post relacionados con la primera tag del post actual $tags = wp_get_post_tags($post->ID); if ($tags) { echo 'Post relacionados'; $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="Enlace permanente a <?php the_title_attribute(); ?>"><?php the_title(); ?></a></p> <?php endwhile; } } ?>
¿Te gustó este artículo? ¡Ni te imaginas lo que te estás perdiendo en YouTube!
Consume menos recursos que el plugin… Interesting.
Yo esto ya lo vi… a si…. aNieto habia escrito algo parecido hace un tiempo.
Siempre es bueno tener a mano algo asi. Puede venir bien cuando andamos algo pasados de consumo de recursos y queremos ahorrar un poco.
Saludos
Si deseo que se muestre un estracto en cada pos relacionado, ¿cómo lo haría?
Saludos!
Hola Fernando
Una pregunta de pardillo: ¿Hay alguna manera de ponerle estilos a este lío de arrays, php's y palabrotas? 🙂
Muchas gracias y un abrazo
hola, estoy diseñando un theme nuevo y al incluir esta herramienta me desaparecen los comentarios en el single.php, me dice que no hay comentarios. Cuando borro lo de posts relacionados vuelven a aparecer los comentarios XD
Me pasa exactamente lo mismo.
Mañana lo reviso a ver que le pasa, ahora mismo ya es muy tarde
Lamentablemente el script te carga los comentarios que corresponden al ultimo post relacionado que aparece…
Veré si el script tiene algun arreglo.
excelente, me funciono a la perfeccion, gracias!
Un detalle nada mas…
En los post relacionados siempre muestra entre los resultados el post en el cual se esta.
Es decir si sobre un post de "tecnologia medicinal" semuestra 4 post relacionados y el restante es el mismo post "tecnologia medicinal" ¿como se puede evitar esto?
Este escript te relaciona los post solo con el primer tag del post publicado? por que a mi no me aparece nada 🙁
hola esto NO SIRVE.. honestamente disculpen quiza sea mi error pero allí va, al instalar este plugin, Los mensajes mas de mil mensajes respuestas a mis temas que tengo no se visualizan,eso es el error…
y los nuevos mensajes que se crean no sale.. en el panel.. solo en el tema los nuevos mensajes no lo cuentan… solo se ve en el tema ni se a donde se va eso…
bueno cual sería la solucion?
Me gustaria saber como se hace este pero por categorias es decir que muestre aleatoriamente entradas por categorias.
desde ya muchas gracias.
Como puedo cambiar para que los relacionados sean de todas las tags y no de una sola?
cambie la variable first_tag por tags y no paso nada.
saludos
muy interesante lo intentare para ir quitando los plugins.. 😀
justo lo que necesitaba….
Acabo de incluir el código y me he encontrado con que si se coloca justo después del post, para los comentarios, corregir la entrada, etc. coge la URL del último post relacionado, y no el post en el que está.
Lo he solucionado poniéndolo al final de la página, después de los comentarios.
Pero ¿Cómo habría que cambiar el código para que esto no suceda?
Lo malo de esto es que wordpress ordena los tags por orden alfabético, por lo que relacionar post se puede convertir en un verdadero dolor de cabeza
Muy bueno lo probare 😀
Fernando estaría bueno que arregles ese codigo.
Tenes que modificar desde el phpendwhile por el phpendwhile de acá: http://wordpress.org/support/topic/passing-current-single_tag_title-as-variable-into-new-wp_query#post-1070773
Hola, quisiera no agregar todo ese código tan largo a mi single.php, quisiera poder añadir un código así y se inserte los post relacionados, pero no sé como hacerlo ¿Alguien que pueda hecharme una mano?
Gracias.