WordPress Sayfa Görüntülenme Sayısı Fonksiyonu Yazmak

WordPress sitelerinize sayfa görüntülenme sayısını ekleyebileceğiniz bir kod paylaştım.

Merhaba, WordPress sitenizdeki yazılarınız için sayfa görüntülenme sayılarını göstermek istiyorsanız doğru yere geldiniz 🙂

Aşağıdaki kodu functions.php dosyanıza ekleyin.

function get_post_view()
{
    $postID = get_the_ID();
    $key = '_oguzhan_dev_post_view_count';
    $views = get_post_meta($postID, $key, true);
    $count_start_num = 0;

    $count = (empty($views) ? $count_start_num : $views);
    $count++;

    if (is_single()) {
        update_post_meta($postID, $key, $count);
        echo $count;
    } else {
        echo $views;
    }
}

Bu fonksyion ile yazımızda görüntülenme sayımız ile ilgili meta varsa getirecek ve onu bir kez arttırıp ekrana yazacak. Eğer meta verimiz yoksa onu 0 olarak oluşturup sonra 1 arttırıp tekrar ekrana yazacak. Ekrana yazmasını istemiyorsanız echo komutları yerine return kullanırsanız sadece değeri döndürür. İşlem yapacaksanız da aldığınız değer ile istediğiniz işlemi yapabilirsiniz.

single.php dosyamızda sayfa sayısını göstermek istediğimiz yere:

<?php get_post_view(); ?>

yazmanız yeterli olacaktır. Eğer sahte sayfa görüntülenmesi ile yazdırmak isterseniz de şöyle bir düzenleme yapabilirsiniz hemen:

function get_post_view($fake_views = 0)
{
    $postID = get_the_ID();
    $key = '_oguzhan_dev_post_view_count';
    $views = get_post_meta($postID, $key, true);
    $count_start_num = 0;

    $count = (empty($views) ? $count_start_num : $views);
    $count++;

    if (is_single()) {
        update_post_meta($postID, $key, $count);
        echo $count + $fake_views;
    } else {
        echo $views + $fake_views;
    }
}

fake_views adınd bir parametre ekledim ve bunu da yazdırdım. Bundan sonra fonksiyonu çağırırken parametre olarak gönderdiğiniz sayısı gerçek değeri ile toplayarak yazacaktır.

Örnek:

<?php get_post_view(100); ?>

Bu durumda 41 olan sayfa görüntülenmesi 141 olarak gözükecektir.

Beni okumaya devam edin, iyi çalışmalar.

Leave a Reply