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ículos de la categorí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