<?php
$categories = get_the_category();
foreach ( $categories as $category ) {
$args = array(
'cat' => $category->cat_ID, // id текущей категории
'post_type' => 'post', // тип записи
'posts_per_page' => 3, // кол-во постов для вывода
'post__not_in' => array($post->ID) // исключаем из вывода текущую запись
);
$query = new WP_Query( $args );
while( $query->have_posts() ) : $query->the_post();
echo '<p><a href="' . get_the_permalink($query->post->ID) . '" title="' . get_the_title( $query->post->ID ) . '">' . get_the_title( $query->post->ID ) . '</a></p>';
endwhile;
wp_reset_postdata();
}
?>