WordPress Resimli Benzer Yazılar

\"resimliUzun zamandır istediğim gibi resimli benzer yazıları sayfalarımda gösteremiyordum. WordPress eklentisi kullandım fakat bazı yazıların resimlerini görüntülemiyordu. Dolayısıyla verim alamadım. Araştırmam sonucunda eklentisiz ve kullanışlı bir kod bloğu keşfettim. Bunun için temamızın function.php dosyasını kullanacağız.

Şu an kendi sitemde kullandığım kodlardan faydalanacağız. Yapacağımız işlem gayet çok basit.

1-

Öncelikle temanızın functions.php dosyasını açın ve aşağıdaki kodları ekleyin:

[php]
function benzer_yazilar() {
global $wpdb, $id;

$mevcut_yazi_etiket = get_the_tags($id);
if($mevcut_yazi_etiket) {
$yazi_etiketleri = array();
foreach($mevcut_yazi_etiket as $anahtar=>$deger) {
$yazi_etiketleri[] = $deger->slug;
}

$yazi_etiketleri = implode(\’,\’,$yazi_etiketleri);
}

$kategori_1 = array();
$cat_obj = get_the_category($id);

foreach($cat_obj as $_liste) {
$kategori_1[] = $_liste->cat_ID;
}

$kategori_1 = implode(\’,\’,$kategori_1);

$rastgeleyazi = get_posts(\’numberposts=3&orderby=rand&category=\’. $kategori_1.\’&tag=\’.$yazi_etiketleri.\’&exclude=-\’.$id);
$oneren_cikti =\’\’;
foreach ($rastgeleyazi as $post) {
$fotover= get_post_meta($post->ID, \’thumbnail\’, true);
$oneren_cikti .=\’<div style="float:left; margin:5px;"><a href="\’. get_permalink($post->ID) .\’" title="\’. $post->post_title .\’"><img src="\’.$fotover.\’" alt="\’. $post->post_title .\’" title="\’. $post->post_title .\’" width="180px" height="135px" /><br />\’. $post->post_title .\’</a></div>\’;
}
return $oneren_cikti;
}
[/php]

Şimdi bu kodları biraz inceleyelim. Buradaki;

[php]
$fotover= get_post_meta($post->ID, \’thumbnail\’, true);
[/php]

satırında resimleriniz için özel alan kullandığınızı varsaydık. Buradaki \”thumbnail\” sizin kullandığın özel alan adı olmalıdır. Ben resim için özel alan adı olarak \”thumbnail\” kullandığımdan onu yazdım.

Ayrıca buradaki;

[php]
$rastgeleyazi = get_posts(\’numberposts=3&orderby=rand&category=\’. $kategori_1.\’&tag=\’.$yazi_etiketleri.\’&exclude=-\’.$id);
[/php]

satırında yer alan \”numberposts=3\” değerini değiştirerek kaç adet resimli benzer yazı gösterileceğini belirleyebilirsiniz.

Ayrıca resimli benzer yazıların daha düzgün gösterilmesi için ufak eklemeler yaptım. Bunu aşağıdaki kodlarda görebilirsiniz:

[php]
$oneren_cikti .=\’<div style="float:left; margin:5px;"><a href="\’. get_permalink($post->ID) .\’" title="\’. $post->post_title .\’"><img src="\’.$fotover.\’" alt="\’. $post->post_title .\’" title="\’. $post->post_title .\’" width="180px" height="135px" /><br />\’. $post->post_title .\’</a></div>\’;
[/php]

Temanıza uygun görüntülenecek resim boyutlarını belirlemek için width ve height değerlerini kendinize göre değiştirebilirsiniz.

2-

Son olarak resimli benzer yazılarımızı sayfamızda göstermek için single.php dosyasında uygun yere aşağıdaki kodları ekleyin:

[php]
<?php echo benzer_yazilar(); ?>
<div class="clear"></div>
[/php]

İşlem bu kadar. Artık sayfalarınızda resimli benzer yazıları görüntüleyebilirsiniz.

Emrah

1981 Samsun doğumlu ve Gazi Üniversitesi, Bilgisayar ve Öğretim Teknolojileri Eğitimi mezunu. Bilişim Teknolojileri Öğretmeni, Yazar, WebMaster, Blogger, SEO eğitmeni. Araştırmacı, sinema sever, fitness yapar, farklı doğal güzellikleri keşfetmeye bayılır.

5 thoughts on “WordPress Resimli Benzer Yazılar

  • ea

    Teşekkürler yazı için. Aşağı linkteki kullandığım metube temasındaki rastgele videoların yerine bunu koymaya çalıştım fakat php bilmeden için css gömmek baya kafa karıştırıcı oluyor. Nasıl yapabilirim yardımcı olursanız sevinirim.
    http://www.wordpressthemesbook.com/wptemalar/metube/

  • wolkanik

    fonksiyon isimleri bile uymuyor.

    functions.php’ye benzer_yazilar adıyla ekliyorsun fonksiyonu single.php’ye ise tema_benzer_yazilar olarak ekliyorsun. ikisi uyumsuz ve kod çalışmayaz böyle.

    single.php’ye de benzer_yazilar ile eklemen gerek.

  • @wolkanik,
    Zaten kodu, fonksiyon adıyla çağırmak gerekiyor ki siz zaten bunun bilincindesiniz anladığım kadarıyla.
    Hatayı da düzelttim. Teşekkür ederim.

Yorum Yap