پربازدیدترین مطالب یکماهه پیش بدون افزونه

با سلام و عرض خسته نباشید

برای نمایش پربازدیدترین مطالب از افزونه wp-postview استفاده میشه که کار این افزونه به این شکل هست که میاد و داخل نوشته ها یه زمینه دلخواه با نام views میسازه و هر بار با بازدید یک واحد به این زمینه اضافه میشه.

خوب ما برای اینکه بخوایم مطالب پربازدید رو نشون بدیم از wp_query استفاده میکنیم.

به این صورت

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<ul>
<?php
$args = array(
    'date_query' => array(
        array(
            'column' => 'post_date_gmt',
            'after' => '1 month ago',
        ),
    ),
    'post_type' => 'post',
    'posts_per_page' => 30,
    'orderby' => 'meta_value_num',
    'meta_key' => 'views',
    'order' => 'DESC',
    
);
$my_query = new WP_Query( $args );
while ($my_query->have_posts()):
$my_query->the_post();
$do_not_duplicate = $post->ID; ?>
<?php $views = get_post_meta($post->ID, 'views', true); ?>
<li><a href="<?php the_permalink(); ?>" title="<?php the_title(); ?>" rel="bookmark"><?php the_title(); ?></a> <?php echo $views; ?></li>
<?php endwhile; ?>
</ul>

فقط بجای

1
'after' =&gt; '1 month ago',

میتونیم از

1
'after' =&gt; '1 year ago',

هم استفاده کنیم که بجای یکماه پیش یکسال پیش قرار گرفته میشه.

 

منبع: همیاروردپرس

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *