Artículos Relacionados por Categorías

Como lo prometido es deuda, he aquí un snippet, encontrado en los foros de WordPress, para obtener posts relacionados por categoría al final de nuestros artículos.

Hay ciertamente excelentes plugins a nuestra disposición para conseguirlo, pero para los ‘bricoleros’, siempre es interesante manejar nuestros templates directamente con algo de código.

<?php

//Gets category and author info
global $wp_query;
$cats = get_the_category();
$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>';
}
}
}
$wp_query = $tempQuery;
?>
<?php while ($wp_query->have_posts()) : $wp_query->the_post(); ?>
<h2>Ultimos art&iacute;culos de la categor&iacute;a: <?php the_category(', ');?></h2>
<ul class="related-by-category"><li>
<?php echo $categoryPosts; ?>
</li></ul>

<?php endwhile;?>

Vamos a pastear esto tras el Loop principal, que convoca a nuestros artículos.

Dispondremos asímismo de una clase (.related-by-category) para estilar los items vía CSS.

DEJA TU COMENTARIO