Merhaba,
Öncelikle yazıların görüntülenmelerini tarihiyle birlikte tutan bir eklentiye ihtiyacınız var.
Örn:
https://tr.wordpress.org/plugins/post-views-stats/
Bu eklenti veritabanına wp_cn_track_post tablosu oluşturuyor ve burada create_date şeklinde ziyaret tarihi tutuyor.
Bu kısımdan en çok görüntülenenleri çekmek için aşağıdaki fonksiyonu kullanabilirsiniz.
function getTodayMostViewedId($limit=5)
{
global $wpdb;
$prefix = $wpdb->prefix;
$today = date('Y-m-d');
$sql = "SELECT `post_id` FROM `".$prefix."cn_track_post` WHERE `create_date` = '$today' GROUP BY `post_id` ORDER BY COUNT(*) DESC LIMIT $limit";
$return = [];
$result = $wpdb->get_results($sql);
for($i=0; $i<count($result); $i++)
$return[$i] = $result[$i]->post_id;
return $return;
}bu fonksiyon bugün en çok görüntülenen yazıların ID'lerini döndürecektir.
ID'lere ait postları da getirmek için:
$args = array(
'post__in' => getTodayMostViewedId()
);
$posts = get_posts($args);
foreach ($posts as $p) :
//post!
endforeach; Ayrıca;
Tüm ziyaretler veritabanında tutulacağı için önereceğim bir yöntem olmayacaktır. Veritabanında büyük bir veri yığını biriktirecektir. Örneğin 3 yıl önceki yazıların hangi tarih/saat'te görüntülendiğini tutmanız büyük bir külfet olacak. Fakat şöyle bir şey de eklenebilir: Bu eklentiyi sadece günlük görüntülenme verisi için kullanacaksanız her yeni günde bir önceki günün verilerini silerek ilerleyebilir.
Kolay gelsin.
Hocam öncelikle çok teşekkür ederim dediklerinizi yaptım fakat bir sonuç çıkmadı.