// Şuanki yazının ID'sini alıyoruz. Çünkü önerilen yazılardan hariç tutacağız.
// Ve bazı yerlerde ihtiyacımız olacak.
$postID = $post->ID; // Eğer çalışmazsa $post->ID yerine get_the_ID() yazabilirsiniz.

// Şuanki yazının kategorilerini çıkartıyoruz.
// Benzer kategorilerde yazı önermek için bunu kullanacağız.
$cats = wp_get_post_terms( $postID, 'category' );
$catsArray = array();

// Şuanki yazının kategorilerini array() içerisine alıyoruz.
foreach( $cats as $cat ) {
$catsArray[] = $cat->term_id;
}

// Önerilern yazıları göstermeye başlayalım.
$args_query = array(
'order' => 'DESC',
'category__in' => $catsArray, // Önerilenleri şuanki yazının kateogorilerinden seçiyoruz. Bütün kategorilerden seçmek isterseniz bu satırı silin.
'post__not_in' => array( $postID ), // Şuanki yazıyı hariç tutuyoruz.
'posts_per_page' => 3 // Kaç tane yazı göstermek istiyorsak o sayıyı yazıyoruz.
);

$query = new WP_Query( $args_query );
if( $query->have_posts() ) {
?>

// Bu önemli. Diğer query'ler ile çakışma olmaması için özel wp_query mizi sıfırlıyoruz.
wp_reset_postdata();
}
?>