نمایش پربازدیدترین مطالب با استایل دهی اختصاصی

برای نمایش پر بازدیدترین مطالب از افزونه wp-postviews استفاده میشود که این افزونه داخل نوشته ها یک زمینه دلخواه با نام views ایجاد میکند که تعداد بازدید هر مطلب در آن ذخیره می‌شود

کدی که این افزونه به ما داده برای نمایش پر بازدیدترین مطالب یک استایل اختصاصی دارد و قابل تغییر نیست پس با ما باشید تا کدی را به شما آموزش دهیم تا بتوانید برای آن استایل مخصوص قابلتان را طراحی کنید.


اگر به یاد داشته باشید برای نمایش پر بازدید ترین مطالب از کد زیر استفاده میکردیم : ….

<?php if (function_exists('get_most_viewed')): ?>
    <ul>
        <?php get_most_viewed(); ?>
    </ul>
<?php endif; ?>

این کد بصورت خودکار پربازدیدترین مطالب را بصورت زیر نمایش میدهد (عنوان و عدد تعداد بازدید).

postviews نقص این کد این است که ما نمیتوانیم برای آن استایل اختصاصی طراحی کنیم.

مثلا :  تاریخ مطلب را نمایش دهیم و یا به آن تصویر شاخص اضافه کنیم و …


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

کد زیر را در مکانی از قالب خود برای نمایش دادن پربازدید ترین مطالب قرار دهید :.

<ul>
<?php 
$args = array(
    'date_query' => array(
        array(
            'column' => 'post_date_gmt',
             'after' => '1 year ago',
        ),
    ),
    'post_type' => 'post',
    'posts_per_page' => 10,
    'orderby' => 'meta_value_num',
    'meta_key' => 'views',
    'order' => 'DESC',
);
$do_not_duplicate = $post->ID; ?>
<?php
$my_query = new WP_Query( $args );
while($my_query->have_posts()) : $my_query->the_post();
$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' => '1 year ago',

حال برای اینکه بگوییم مطالب پر بازدید یک ماه قبل تا الان را نشان بده کد زیر را با کد بالا جایگزین میکنیم

'after' => '1 month ago',

2 – ما با کد زیر گفته ایم که تعداد 10 مطلب پر بازدید را نمایش بده

 'posts_per_page' => 10,

پس میتوانید با تغییر عدد تعداد دلخواه خود را مشخص کنید.


 

3 – برای تغییر استایل نمایش (تاریخ مطلب ، تصویر شاخص و …) کد زیر را به دلخواه تغییر میدهید.

<li>
<a href="<?php the_permalink(); ?>" title="<?php the_title(); ?>" rel="bookmark"><?php the_title(); ?></a>
بازدید : <?php echo $views; ?>
</li>

ما استایل اختصاصیمان را بصورت تصویر زیر درست کرده ایم

postviews


اگر میخواهید پر بازدید ترین ها از یک یا چند دسته ای خاص را نمایش دهید از کد زیر استفاده کنید.

<ul>
<?php 
$args = array(
    'date_query' => array(
        array(
            'column' => 'post_date_gmt',
             'after' => '1 year ago',
        ),
    ),
    'post_type' => 'post',
    'posts_per_page' => 10,
    'orderby' => 'meta_value_num',
    'meta_key' => 'views',
    'order' => 'DESC',
    'cat' => '26,5,49',
);
$do_not_duplicate = $post->ID; ?>
<?php
$my_query = new WP_Query( $args );
while($my_query->have_posts()) : $my_query->the_post();
$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>

کد بالا فرق چندانی با کد اولیه ما ندارد فقط کد زیر به آن اضافه شده است.

'cat' => '26,5,49',

که در این کد گفته ایم مطالب پر بازدید دسته های.  26 , 5 , 49 را نمایش بده ، به دلخواه میتوانید اعداد را تغییر دهید و یک دسته و یا هر چند دسته ای را که میخواهید نمایش دهید عدد آنرا بنویسید.

و یا برای اینکه بگوییم مطالب پر بازدید دسته ای را نمایش ندهد (دسته را فیلتر کنیم) قبل از عدد دسته علامت منفی میگذاریم مانند کد زیر.

'cat' => '-26,-5,-49',

خب آموزش طولانی شد اگر کدی را لازم دارید و نگفتم در کامنت بگویید

پاسخ دهید

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

cp-codfk

نظرات ثبت شده 6 دیدگاه

    1. امیر کاربر مهمان گفت:

      مشکلم حل شد
      عالی بود

      11
    2. amir کاربر مهمان گفت:

      تو این قسمت :
      *******************************************
      <a href="” title=”” rel=”bookmark”>
      بازدید :
      ******************************************
      کد : از کجای دیتابیس این رو میخونه منظورم اینه که من کد :
      mysql_query(“SELECT * FROM table”)
      رو نمیبینم لطفا راهنمایی کنید و اگر ممکنه جواب رو به ایمیلم بفرستید.
      vpn.re.123@gmail.com

      11
      1. رضا عبدالهی مدیر سایت گفت:

        ما از wp_query استفاده کردیم که مطالب پر بازدید رو به نمایش بزاریم.
        و این کد :
        ( بازدید : )
        تعداد بازدید هر مطلب رو از افزونه wp-postviews دریافت کرده و به نمایش میزاریم

    3. amir کاربر مهمان گفت:

      میتونید کد mysql_query مطالب پر بازدید رو بزارید؟؟؟

      11
      1. رضا عبدالهی مدیر سایت گفت:

        نه متاسفانه کدشو بلد نیستم و جایی هم ندیدم که باشه

    4. yousuf کاربر مهمان گفت:

      سلام . مرسیییییییییی

      11
توضیحات پیشنهادی نظرات اشتراک