• 11-07-2017, 01:03:08
    #10
    Şöyle bir şey buldum ama:
    http://wpsnipp.com/index.php/loop/di...ys-posts-only/
    • Sivas58
    Sivas58 bunu beğendi.
    1 kişi bunu beğendi.
  • 11-07-2017, 02:01:06
    #11
    Genellikle temaları çoğunda bu tip widget ler var. Temanızdaki widget lere bir bakın
  • 11-07-2017, 08:33:29
    #12
    Üyeliği durduruldu
    Misafir adlı üyeden alıntı: mesajı görüntüle
    Olmadı hocam

    registan adlı üyeden alıntı: mesajı görüntüle
    Genellikle temaları çoğunda bu tip widget ler var. Temanızdaki widget lere bir bakın
    Temada widget desteği ne yazık ki yoktur hocam.
  • 13-07-2017, 19:25:48
    #13
    Üyeliği durduruldu
    çok basit bir şey istediğimi düşünmüştüm.
  • 24-07-2017, 18:56:18
    #14
    Üyeliği durduruldu
    yok değil mi yapabilecek birisi
  • 27-07-2017, 22:50:50
    #15
    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.
  • 27-07-2017, 23:58:28
    #16
    Üyeliği durduruldu
    ForsBey adlı üyeden alıntı: mesajı görüntüle
    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ı.
  • 28-07-2017, 01:13:37
    #17
    foreach kısmının içindeki !post kısmına yazının detaylarını getiren kodları eklemeniz gerekiyor. Buna benzer şekilde dener misiniz? Örneğin:

    foreach ($posts as $p) :
    echo $p->post_title.'<br>';
    endforeach;
    gibi.