Mostrar articulos relacionados sin plugins en wordpress

Descubre como mostrar articulos relacionados sin la necesidad de plugins y de una manera sencilla y facil de aprender y memorizar.

Los plugins tradicionales se basan en los tags, el titulo, categorias, relaciones, etc para sacar conclusiones para mostrar post relacionados. Pero yo necesitaba algo mucho mas simple, solo queria que la relacion se hiciera por la categoria, que es la relacion mas simple que se puede hacer. Por lo que decidí buscar algo que me ayudara mostrar articulos relacionados al post que se esta viendo.

La solucion fue la opcion “cat” de “query_posts“, la cual nos permite mostrar articulos de una categoria dada. entonces aqui viene la magia.

<li class="video">
    <h2>Videos Relacionados</h2>
    <ul>
        <div class="scroll">
            <?php
            if(is_single())
                { // Si es un single post
                $cat = the_category_ID(FALSE); // El id de la categoría, el (FALSE) es para que no escriba el número
                $post = get_the_ID(); // El id del current post
                $args = array( // La variable
                    'cat'=>$cat, // El id de la categoría que buscamos arriba
                    'showposts' => 10, // El número de posts que se van a listar
                    'post__not_in' => array($post), // Llama al id del post actual para que no sea listado
                    'orderby' => 'rand');
                }
            else
                {
                $args = array( // La variable
                    'showposts' => 10, // El número de posts que se van a listar
                    'post__not_in' => array($post), // Llama al id del post actual para que no sea listado
                    'orderby' => 'rand');
                }
           
            query_posts($args);
           
            if (have_posts()) :
                while (have_posts()) : the_post();
                    ?>
                    <li>
                        <div class="thumbnail3">
                            <a href="<?php the_permalink() ?>" title="<?php the_title(); ?>"><img src="<?php echo get_post_meta($post->ID, "thumb", true); ?>" width="120" height="90" alt="<?php the_title(); ?>" /></a>
                        </div>
                       
                        <div class="fpost3">
                            <h3><a href="<?php the_permalink() ?>" title="<?php the_title(); ?>"><?php the_title(); ?></a></h3>
                            <p><?php if(function_exists('the_views')) { the_views(); } ?></p>
                            <p><?php if(function_exists('the_ratings')) { the_ratings(); } ?></p>  
                        </div>
                        <div class="clear"></div>
                    </li>
                <?php
                endwhile;
            endif;
            ?> 
        </div>
    </ul>
</li>

La explicación

Basicamente lo que hago es mostrar los articulos relacionados o pertenecientes a una misma categoría según el artículo que el visitante este viendo.
El código está pensado para el sidebar, por lo tanto sirve para cuando el visitante este viendo un articulo o cuando esta navegando por otras secciones de la web como el home, categorias, tags, etc.
Lo primero que hago es averiguar si estoy viendo un artículo, post, entrada (o como quieras llamarle), mediante la pregunta

if(is_single())

en caso de que sea una entrada lo que el usuario esta viendo, prosigo a capturar la ID del articulo que el visitante esta viendo mediante

$cat = the_category_ID(FALSE);

luego capturo el ID del post que estamos viendo, esto es para excluir al articulo que estamos viendo de los resultados en los articulos relacionados, la captura la hacemos con

$post = get_the_ID();

prosigo a crear el arreglo con las opciones que se cargaran con “query_posts

  • cat’=>$cat: le decimos a wordpress que nos arroje solo los articulos de dicha categoria
  • ’showposts’ => 10: mostrar 10 articulos
  • ‘post__not_in’ => array($post): no incluir el articulo con este ID
  • ‘orderby’ => ‘rand’: Ordenar al azar o aleatoriamente

Para el caso contrario, es decir si el visitante no esta mirando un artículo, utilizamos las mismas opciones menos la opcion “cat”, por lo tanto se mostraran 10 articulos al azar desde el universo de articulos posteados en nuestro blog.

Ver Ejemplo >>

Fuente Wordpress: Wordpress Hack
Fuente Imagen: http://www.flickr.com/photos/94334030@N00/918526271

Artículos Relacionados:

  1. Leer feed de wordpress con PHP y SimpleXMLElement::xpath Este es un simple script que te ayudará a leer...

Related posts brought to you by Yet Another Related Posts Plugin.

6 Comentarios

09.22.10

Buen artículo, y buen blog. Gracias por esta ayuda, la pondré en práctica. Un saludo

09.22.10

lo que yo queria, gracias

09.22.10

hey yo quisiera poner esos articulos relacionados y articulos populares como tienes aqui en tu web como lo hiciste ¿? podrias darme una mano por favor ? gracias.

09.22.10

Hay varios plugins, de mi parte el que me gusta es Yet Another Related Posts Plugin Options, o incluso puedes relacionarlos en duro utilizando las categorias como medio de relacion.

Saludos.

09.22.10

Fue un buen artículo para leer , gracias por compartirlo.

09.22.10

Gracias por resumirlo tan bien. Creo que voy a regresar aquí a menudo. Saludos cordiales.

Dejame un comentario

* Nombre, Email, y Comentario son Requeridos
Como me encuentran en Google