Articulos relacionados por categoria y autor en WP

Excelente este código que me permitió en un nuevo proyecto que arrancamos con mi amigo JP mostrar post relacionados según el autor y según la categoría.

Busque plugins para WordPress que cumplieran estas necesidades y no encontré, asi que me puse a buscar código. Encontré un codigo uno que con ayuda de mi primo Lea pusimos a funcionar. Este post es digno merecedor de un espacio en WordPress Hacks el nuevo proyecto de un blogger de la casa Neri.

Después del salto el codigo

Para empezar la hice fácil y cree un archivo related.php que aloje en la misma carpeta del theme con este código:

<?php
  //Gets category and author info
  global $wp_query;
$cats = get_the_category();
  $postAuthor = $wp_query->post->post_author;
$tempQuery = $wp_query;
  $currentId = $post->ID;

// related category posts
  $catlist = "";
  forEach( $cats as $c ) {
  if( $catlist != "" ) { $catlist .= ","; }
  $catlist .= $c->cat_ID;
  }
  $newQuery = "posts_per_page=5&cat=" . $catlist;
  query_posts( $newQuery );
$categoryPosts = "";
  $count = 0;
if (have_posts()) {
  while (have_posts()) {
  the_post();
  if( $count<4 && $currentId!=$post->ID) {
  $count++;
  $categoryPosts .= '<li><a href="' . get_permalink() . '">' . the_title( "", "", false ) . '</a></li>';
  }
  }
  }
  // related author posts
  $newQuery = "posts_per_page=5&author=" . $postAuthor;
  query_posts( $newQuery );
$authorPosts = "";
  $count = 0;
if (have_posts()) {
  while (have_posts()) {
  $count++;
  the_post();
  if( $count<4 && $currentId!=$post->ID) {
  $count++;
  $authorPosts .= '<li><a href="' . get_permalink() . '">' . the_title( "", "", false ) . '</a></li>';
  }
  }
  }
  $wp_query = $tempQuery;
  ?>

Y luego solo falta incluir esto en el single.php de sus plantillas y llamar a las funciones que crea, por ejemplo de esta forma:

<?php include('related.php') ?>
<div id="related">
<h4>Otros Articulos de <?php the_author(); ?></h4>
<ul>
<?php echo $authorPosts; ?>
</ul>
<h4>Otros Articulos de <?php the_category(', ') ?></h4>
<ul>
<?php echo $categoryPosts; ?>
</ul>
</div>

Nota: Acabo de cambiar para este post el plugin que usaba para mostrar codigo, este me gusta mucho más. Por alguna razón no muestra correctamente el codigo PHP (el anterior tampoco), si lo hace si apretan sobre el link que les proporciona el texto plano «Ver código». Solo me pasa si utilizo el plugin porque si muestro código entre < "pre"> sale bien, alguien sabría porque?

Hernan Cabrera

Argentino, blogger y laburante de Internet desde 2005, tengo el placer de vivir de lo que me gusta. Hoy ocupo mi tiempo en mantener una red de sitios multitematica y buscar nuevos nichos de mercado. Me pueden seguir en Twitter @HernanMDQ

11 comentarios en «Articulos relacionados por categoria y autor en WP»

  • el 15/05/09 a las 22:40
    Enlace permanente

    Excelente aporte,

    Una ocnsulta como hago para mostar solamente los post relaciones por categoria sin necesidad de poner el nombre del autor.

    Gracias.

  • el 15/05/09 a las 22:50
    Enlace permanente

    se que no es el lugar ni la forma, pero necesito que me eches una mano con lo que le paso a un amigo pudieras publicar algo relacionado con lo que le paso a un compañero twitero, y que podria afectar a muchos guatemaltecos que utilizamos este servicio, es un amigo y es injusto lo que le hicieron te dejo el link para que lo chekes, te lo agradezco de antemano http://blogvecindad.com/el-twittero-de-guatemala-jeanfer-arrestado-por-crear-panico-financiero/2009/05/14

  • el 16/05/09 a las 8:02
    Enlace permanente

    @Mauro: El código esta bien separa, por ejemplo de la primera parte deberías usar la primer sección «// related category posts» y luego en las llamadas solo el «$categoryPosts;».

    @Max: No hice a tiempo a comentarlo por aqui pero estoy seguro que los lectores de CG estan al tanto.

    Salu2.

  • el 16/05/09 a las 9:22
    Enlace permanente

    No seria mas limpio si meten el codigo dentro del fichero functions.php?, para eso lo tenemos 😛

  • el 16/05/09 a las 10:58
    Enlace permanente

    Hernán muchas gracias por la mención, veo el post porque alguien fue de acá para wp hacks, sino ni me enteraba, hace como 2 días que no abro el reader, con el tema de la migración tengo un quilombo bárbaro.
    En cuanto al código y demás lo voy a tener en cuenta, tal vez se pueda limpiar más el código y como dice Angelfire, también se podría agregar al functions 😉

  • el 16/05/09 a las 13:33
    Enlace permanente

    excente.. funciona y me viene de 1o para el directorio de articulos q estoy terminabdo con este codigo

  • el 17/05/09 a las 17:05
    Enlace permanente

    al parecer anda mal el tema de los comentarios poniendo eso.. vos comentas y te pasa que comentas en otro post.. fijense o es a mi solo que me pasa?

  • el 24/12/09 a las 17:51
    Enlace permanente

    lo que dice matias es verdad, he probado varios codigos de los cuales me aparece el mismo error, alguna solucion?

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.