Erhan Yakut'un şurada verdiği kodu inceleyelim birlikte

Katerogiye Göre Benzerlik
<?php
$categories = get_the_category($post->ID);
if ($categories) {
    $category_ids = array();
    foreach($categories as $individual_category) $category_ids[] = $individual_category->term_id;

    $args=array(
        'category__in' => $category_ids,
        'post__not_in' => array($post->ID),
        'showposts'=>5, // Gösterilecek benzer yazı sayısı
        'caller_get_posts'=>1
    );

        $my_query = new wp_query($args);
    if( $my_query->have_posts() ) {
        echo '<h3>Benzer yazılar</h3><ul>';
        while ($my_query->have_posts()) {
            $my_query->the_post();
        ?>
            <li><a href="<?php the_permalink() ?>" rel="bookmark" title="<?php the_title_attribute(); ?>"><?php the_title(); ?></a></li>
        <?php
        }
        echo '</ul>';
    }
wp_reset_query();
}
?>
Bizim asıl ihtiyacımız olan şey şu kısım
$categories = get_the_category($post->ID);
burada yazının bulunduğu kategorinin id'si alınıyor.

Burada ise ihtiyacımız olan neredeyse tüm değişkenlere sahip oluyoruz.
if ($categories) {
    $category_ids = array();
    foreach($categories as $individual_category) $category_ids[] = $individual_category->term_id;

    $args=array(
        'category__in' => $category_ids,
        'post__not_in' => array($post->ID),
        'showposts'=>5, // Gösterilecek benzer yazı sayısı
        'caller_get_posts'=>1
    );
Şimdi özel oluşturduğumuz widgetimizde $category_ids değişkeni sayesinde yazının yer aldığı kategorideki içeriklerin tamamına erişebiliyoruz. elde etmek istediğimiz değişkene göre istediğimiz sonuca rahatça ulaşabiliriz. tabi ki biraz php bilgimizin olması gerekiyor.

zaten sorunun düğümlendiği nokta burası. php bilen birisi için yapılacak işlem çok basit. çünkü php o kadar kolay, esnek ve güzel bir dil ki, sadece mantı yürütmek yetiyor. istediğiniz şey mantığınıza uygunsa mutaka ama mutlaka php ile yapılabilirliği vardır.