Sayfa sayaç eklentisini kullanarak, mevcut kategorilerinizden en çok okunanları bulabilir ve bunları listeleyebilirsiniz. Bunu nasıl yapacağınızı basitçe anlatacağım size 🙂
WordPress ile en çok okunan kategorileri bulalım
Bunun için basit bir SQL sorgusu yazacağız ve PHP ile derleyip ekrana çıktı vereceğiz. Bu olay için sayfa sayaç eklentisini kullanıyor olmanız gerekiyor.
Mantığımızı ise kısaca açıklayayım kodlara geçmeden önce. Öncelikle tüm kategorilerimizi ve onların altındaki tüm yazıları alıyoruz. Ve elbette bu yazıların okunma sayılarını. Sonra bu kategorilerde yer alan yazıların okunma sayılarını topluyor ve her bir kategori için toplam okunma sayısını elde ediyoruz. Sonrasında ise büyükten küçüğe doğru sıralıyoruz. Böylece en çok okunan kategori, ilk sırada yer alıyor.
En çok okunan kategoriler bulmak için yapmamız gereken uygulama
Bu kodları temaya ekleyeceğiz. Yani bir eklenti olarak sunmuyorum. Eğer çok istek gelirse bunu eklentiye çevirebiliriz. Ya da ileride sayfa sayaç eklentisine de ekleyebiliriz.
Kullanmış olduğunuz temanın dizininde yer alan sidebar.php dosyasını açın.
Sonrasında uygun bir yere alttaki kodları ekleyin. Uygun bir yer diyorum, çünkü dosyanın içeriği temadan temaya değişiyor ve kesin bir satır belirtemem. Eğer HTML bilginiz yoksa deneme yanılma yöntemi ile yan menü üzerinde yer değiştirme sağlamalısınız.
get_results(
"SELECT wt.term_id, wt.name, SUM( wpo.sayac_toplam ) AS toplam
FROM $wpdb->terms AS wt
JOIN $wpdb->term_taxonomy AS wtt ON wtt.term_id = wt.term_id AND wtt.taxonomy = 'category'
JOIN $wpdb->term_relationships AS wtr ON wtr.term_taxonomy_id = wtt.term_taxonomy_id
JOIN $wpdb->posts AS wp ON wp.ID = wtr.object_id
LEFT JOIN {$table_prefix}posts_okunma AS wpo ON wpo.postID = wp.ID
GROUP BY wt.term_id
ORDER BY toplam DESC
LIMIT 0 , 10"
);
if ($sonuclar) {
echo '
- ';
- '.$sonuc->name.' ('.number_format($sonuc->toplam).')
foreach($sonuclar as $sonuc) {
echo '
';
}
echo '
';
}
?>
Sonrasında en çok okunan kategorileri çıktı alacaksınız. Kendi uygulamamdan bir ekran görüntüsünü paylaşıyorum.