WordPress Popüler Yazılar (Özel Alana Göre)

Merhaba, baya oldu wordpress ile ilgili paylaşım yapmayalı, geçen günlerde bir video sitesi düzenlemesi işi geldiğinde lazım olmuştu. Arkadaş sidebar da popüler yazıları göstermek istediğini belirtti. Kullanılan eklenti olup olmadığına baktığımda WP-Postviews eklentisinin olduğunu gördüm. Bu eklenti bilinildiği üzere yazılarımızda views diye bir özel alan oluşturarak yazı görüntülenme sayısını tutuyor.

Popüler yazıları da bununla göstermek için mantık olarak özel alanı views olarak yazıları listeletmek uygundu.

Öncelikle temamızın functions.php dosyasına aşağıdaki kodlarımı ekliyoruz.

/* En Çok Görüntülenen Yazılar */
function wpb_set_post_views($postID) {
    $count_key = 'wpb_post_views_count';
    $count = get_post_meta($postID, $count_key, true);
    if($count==''){
        $count = 0;
        delete_post_meta($postID, $count_key);
        add_post_meta($postID, $count_key, '0');
    }else{
        $count++;
        update_post_meta($postID, $count_key, $count);
    }
}
remove_action( 'wp_head', 'adjacent_posts_rel_link_wp_head', 10, 0);
/* En Çok Görüntülenen Yazılar */

Daha sonra temamızda nereye yerleştirmek istiyorsak aşağıdaki kodları da yerleştirelim

<h2>En Çok Okunanlar</h2>
<?php $popularpost = new WP_Query( array( 
'posts_per_page' => 12, // Listelenecek Yazı
'meta_key' => 'views', 
'orderby' => 'meta_value_num', 
'order' => 'DESC'
) );
while ( $popularpost->have_posts() ) : $popularpost->the_post();
?>
<li>
<a href="<?php the_permalink(); ?>" title="<?php the_title(); ?>"><?php the_title(); ?>(<?php if(function_exists('the_views')) { the_views(); } ?>)</a>
</li>
   
<?php endwhile; ?>

Bu şekilde sadece popüler yazılarımızı listeletmiş olduk. Tabi buna daha bir çok fonksiyon eklenebilir. Burada sadece yazı başlıkları çekilmektedir.