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

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

<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>

فقط بجای

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

میتونیم از

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

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

موفق باشید

منبع
محمد جواد کوشکی
خودمو یک متخصص نمی دونم چون هر روز دارم چیز های جدیدی در حوزه کسب و کار اینترنتی یاد می گیرم.