function lista_de_post_categoria_post_actual($content) {
if(is_single()) { // con is_single() hacemos que solo me muestren en las entradas.
global $post;
$post_actual = $post->ID; // obtenemos el id del post actual
$categoria = get_the_category(); // obtenemos la categoria actual
$cat = $categoria[0]->cat_ID; // en caso de tener mas categorias, obtenemos la primera que tenga asignada
$args = array(
'cat' => $cat,
'post_status' => 'publish',
'showposts' => 5, //el numero de post que quermos mostrar
'orderby' => 'date', //ordenado por fecha, cambiar por rand para que sean aleatorio
'order' => 'DESC', //orden descendiente
'post_type' => 'post',
'post__not_in' => array( $post_actual ), // le decimos que no muestre el post actual
);
// creamos la consulta de los post de la categoria, segun los parametros anteriores.
$the_query = new WP_Query( $args );
if ( $the_query->have_posts() ){
$content.= "<div class='enlaces'>"; // un div donde se introduciran los enlaces
$content = '<ul>'; // inicio del listado
while ( $the_query->have_posts() ){
$the_query->the_post();
$content .= the_title('<li><a href="'.get_permalink().'">', '</a></li>', true); // muestra los enlaces
}
$content .= '</ul>'; //cierre del listado
$content.= "</div>"; // cierre del div
}
//Reset query
wp_reset_query();
}
return $content; // devuleve la consulta anterior.
}
add_filter ('the_content', 'lista_de_post_categoria_post_actual');