نمایش تعداد روز و زمان گذشته از انتشار متن در وردپرس

سلام به همه ی برو بچه های وردپرس کار عزیز…
حتما شما هم به سایت هایی مواجه شدید که زمان انتشار مطالبشون رو به صورت” انتشار در 15 روز قبل ” به نمایش قرار میدند! (مثلا همین فیس بوک مخوف! 😀 )
خوب این کار با چند کد ساده قابل انجام هست.

کد زیر زمان انتشار مطلب رو بصورت ( انتشار در 15 روز پیش ) به نمایش قرار میده:

<?php
        $days = round((date('U') - get_the_time('U')) / (60*60*24));
        echo "منتشر شده در " . $days . " روز پیش";
?>

کد زیر یکم نسبت به کد بالا کمی تا قسمتی ابری پیشرفته تره مثلا شما می تونید بگید اگر پست امروز منتشر شده بود بگه ( انتشار در امروز ) و اگر در یک روز پیش منتشر شده بود بگید ( انتشار در دیروز ) و اگر مثلا در 10 روز پیش منتشر شده بود خروجی مثل خروجی کد بالا داشته باشه!

<?php
        $days = round((date('U') - get_the_time('U')) / (60*60*24));
        if ($days==0) {
                echo "امروز منتشر شد";
        }
        elseif ($days==1) {
                echo "دیروز منتشر شد";
        }
        else {
                echo "منتشر شده در" . $days . " روز پیش";
        }
?>

کد سوم بصورت زمان انتشار مطلب رو نشون میده مثلا ( 10 دقیقه پیش ) . برای استفاده کافیه کد زیر رو در فایل functions.php پوسته ی خود کپی کنید:

add_filter('the_time', 'timeago');

function timeago()
{
    global $post;

    $date = $post->post_date;

    $time = get_post_time('G', true, $post);

    $time_diff = time() - $time;

    if ( $time_diff > 0 && $time_diff < 24*60*60 )
        $display = sprintf( __('%s ago'), human_time_diff( $time ) );
    else
        $display = date(get_option('date_format'), strtotime($date) );

    return $display;
}

حالا کد زیر رو در حلقه ی مطلب کپی کنید:

 <?php echo timeago(); ?>

به همین راحتی ، به همین خوشمزگی! 😀

  راهنمای سیستم هوک و apply_filters وردپرس
آیا این مقاله برای شما مفید بود؟
تقریبا
خیر

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

ارسال دیدگاه به معنی این است که شما ابتدا قوانین ارسال دیدگاه را مطالعه کرده‌اید و با آن موافق هستید.

دیدگاه‌های این نوشته جدید ترین ها شاخص

  1. سلام و خسته نباشید

    این کد آخر عالیه
    یعنی وقتی منتشر بشه بگه 3 دقیقه پیش
    حالا اگه چند روز گذشت تاریخ نزنه
    بگه 25 روز پیش مثلا
    میشه اینکار را کرد؟