رفتن به مطلب

نوع تاریخ نوشته ها


پست های پیشنهاد شده

سلام بر همه دوستان و کارشناسان و استادان و...

می خواستم بپرسم که چه جوری میشه یه کاری کرد که کنار نوشته ها تاریخ رو اینجوری بنویسه:

نوشته شده در n روز پیش...

آیا باید تو پوسته دست برد یا توی قسمت تنظیمات با عوض کردن ساختار تاریخ میشه کاری کرد

لطفا در هر صورت توضیح بدین که چه جوری میشه این کار رو کرد؟ لطفا نیمه مبتدی توضیح بدین :)

ممنون

لینک به ارسال

واسه شدنش که میشه .

یه راه حل طولانیشو که من بلدم ، اینه فرمت تاریخ رو بصورت timestamp در بیارم و از تابعی که ساختم استفاده کنم .


/**
* Time Left function
*
* Example
* $x = 1332140945 ;
* echo time_left($x);
* @param $ts int timestamp's post
* @return string time left like 3mahe ghabl
*/
function time_left($ts = null)
{
if(!$ts)
return '';


$time = time();
$t = $time-$ts;

if(intval($t) < 0)
return 'آینده';

if(floor($t/31536000) >= 1 )
$out = floor($t/31536000).' سال قبل';
elseif(floor($t/2592000) >= 1)
$out = floor($t/2592000).' ماه قبل';
elseif(floor($t/604800) >= 1)
$out = floor($t/604800).' هفته قبل';
elseif(floor($t/86400) >= 1)
$out = floor($t/86400).' روز قبل';
elseif(floor($t/3600) >=1)
$out = floor($t/3600).' ساعت پیش';
elseif(floor($t/60) >= 1)
$out = floor($t/60).' دقیقه پیش';
else
$out = $t.' ثانیه قبل';
return $out;
}

البته فکر کنم راه حل های خیلی خیلی ساده تری هم باشه ، امیدوارم دوستان کمک کنن

  • امتیاز 4
لینک به ارسال

ببخشید می خواستم ببینم روش اول رو چه جوری انجام بدم و این کد ها رو باید کجا بگذارم و لطفا اگر کسی راه دیگه هم سراغ داره ممنون میشم بگه البته بازم تاکید می کنم لطفا کمی مبتدیانه توضیح بدین چون من پی اچ پی بلد نیستم اما می تونم کمی تغییرات بدم

بازم از همه دوستان ممنون

آقای ایمان فخر ممنون

این افزونه توابع تاریخ رو جایگزین می کنه؟

منظورم اینه که اگر اینو نصب کنم درست میشه و بغل پست ها به جای نشان دادن تاریخ می نویسه نوشته شده در n روز پیش...؟

ویرایش شده توسط ali110
لینک به ارسال

روش اول که یک تابعه فقط ورودیش باید تایم استمپ باشه .

افزونه که آقا ایمان معرفی کردیند تست کنید .

  • امتیاز 3
لینک به ارسال

ممنون

افزونه به نظر کاربردیه و دارم سعی میکنم فارسیش کنم اما از راه اولیه سر در نمیارم

1.تایم استمپ یعنی چی؟ :huh:

2.روش اول رو توی پست های وردپرس چه جوری میشه به کار برد اون کدها رو باید چی کار کنم و خلاصه اینکه اصلا از اولی سر در نمیارم ! :huh:

ممنون میشم کمی راجب این کدها،و چگونگی استفادش تو وردپرس و تو کد های قالب توضیح بدین

با تشکر فراوان :wub:

لینک به ارسال

تایم استمپ یک برچسب زمانیه .

یک عدد ده رقمیه که فکر کنم از 1/1/1970 یا به قول خودمون 11/4/1348 هر ثانیه یک رقم بهش اضافه میشه . مثلاً الانی که من دارم اینو مینویسم برچسب زمانی 1346186973 هست .

برای گرفتن برچسب زمانی فعلی میتونید از تابع time استفاده کنید .


echo time();

با استفاده از این عدد ده رقمی میتونید تاریخ رو به شکل های دلخواه با استفاده از توابع date میلادی و jdate , pdate شمسی نشون بدید .


echo jdate('l,Y m d',1346186973); // سه نشبه , 7 6 1391
echo date('l,Y m d',1346186973); // Tuesday,2012 08 28

من توی اسکریپت هایی که مینویسم ، تاریخ ثبت رو بصورت تایم استمپ توی دیتابیس ذخیره میکنم که هم ایندکس گذاری دیتابیس روش بهینه تره ، هم کار باهاش ساده تره .

اما وردپرس چون توی جدول مطالب یک فیلد داره post_modified که این فیلد زمان آخرین تغییرات توی دیتابیس رو ثبت میکنه ، و چون وردپرس راحت طلبه اومده نوع ذخیره سازی تاریخ رو به شیوه mysql قرار داده که مثلاً بصورت 2012-05-16 01:03:31 هست که اون فیلد توسط خود mysql خودکار تعیین بشه . (این از زیرکی وردپرسه) لذا برای تبدیل این نوع تاریخ به تایم استمپ باید خودتون دست به کار بشید .

راه کارشهم ساده است . با استفاده از تابع explode اون قسمت ها رو تیکه تیکه میکنید و روز و ماه و سال و ساعت و دقیقه و ثانیه رو در میارید میذارید توی تابع mktime و این تابع برچسب زمانی مربوطه رو برمیگردونه حالا اون برچسب رو توی تابعی که من نوشتم میذارید و دیگه همین ... ;)

فکر کنم یه مقاله کامل شد . :)

  • امتیاز 3
لینک به ارسال
  • 2 هفته بعد...

سلام

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


ارسال شده در <?php echo human_time_diff(get_the_time('U'), current_time('timestamp')) . ' قبل'; ?>

چی کار کنم درست بشه؟

==========================

ممنـــــــون

راستی یه سوال دیگه : چرا زیر اسم من هِی می نویسه سوال امنیتی:تهران

مگه من اسپمم؟!!!!!!!!!!!!!!!!

ویرایش شده توسط ali110
لینک به ارسال

آقای ایمان فخر ممنون

این افزونه توابع تاریخ رو جایگزین می کنه؟

منظورم اینه که اگر اینو نصب کنم درست میشه و بغل پست ها به جای نشان دادن تاریخ می نویسه نوشته شده در n روز پیش...؟

افزونه رو برای اینکار نوشته اند

  • امتیاز 3
لینک به ارسال

لطفا برای ارسال دیدگاه وارد شوید

شما بعد از اینکه وارد حساب کاربری خود شدید می توانید دیدگاهی ارسال کنید



ورود به حساب کاربری
×
×
  • اضافه کردن...