نمایش میزان زمان گذشته از پست مطلبی


سه‌شنبه، 12، دسامبر، 2017 در ساعت 05:49


زمان گذشته از مطلبی در وردپرس

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

برای ایجاد این قابلیت باید ابتدا در functions.php متدی رو تعریف کنیم که زمان انتشار پست بر حسب ثانیه رو به ما نشون بده، خب متد خودمونو تعریف میکنیم:

متد های برنامه نویسی مورد استفاده در وردپرس

در وردپرس یک سری تابع داریم که زمان انتشار پست رو نشون میده:

خب کار این تابع اینه که زمان انتشار پست رو بر اساس ساعت یونیکس به ما نشون میده، در واقع ساعت یونیکس تعدا ثانیه های از ساعت 00:00:00 روز اول ژانویه 1970 تا به همین حالا که شما دارید این پستو میخونید به ما نشون میده. خب حالا متد ساعت یونیکس در زبان برنامه نویسی php به صورت زیر است:

خب اختلاف این دو تابع چی میتونه باشه؟ درسته، زمان گذشته شده از پست یک مطلب تا به حالا که به صورت لحظه ای افزایش پیدا میکنه، حالا کد های خودمونو به صورت زیر تکمیل میکنیم:

خب شاید از خودتون بپرسید اون 12600 ثانیه رو چرا اضافه کردیم؟
در واقع اختلاف زمان ساعت جهانی یا ساعت گرینویچ(GMT) با تهران 3 ساعت و 30 دقیقه است که این زمان بر اساس ثانیه برابر است با 12600 ثانیه ((3*60*60)+(30*60)).

-توجه: لازم به ذکره که در تنظیمات وردپرس زمان محلیُ تهران انتخاب کنید.

بازه های زمانی

خب حالا باید بازه های زمانی که انتظار داریم متن مورد نظر نمایش داده بشه رو با دستورات شرطی تعیین میکنیم. مثلا برای تعیین بازه زمانی دقیقه ای مقدار متغیر مورد نظرُ اینجوری تعیین میکنیم:

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

تا اینجای کار ما به بازه‌ی هفته ای قناعت کردیم(مانند اینستاگرام)، میریم سراغ دستورات شرطی

دستورات شرطی

در دستور اول به متد خودمون میگیم اگر زمان انتشار پست کمتر از یک دقیقه (60 ثانیه) بود برای ما عبارت لحظاتی پیش تایپ کن:

خب بقیه بازه هارو به همین ترتیب تعیین میکنیم با این تفاوت که نیاز داریم تعداد دقیقه، ساعت، روز و هفته رو در چاپ زمان گذشته درج کنیم:

خب متد ما آماده اس فقط به عنوان آخرین نکته باید بدونید که برای استفاده از این تابع برای کامنت های بجای تابع

باید از تابع زیر استفاده کنید:

فقط سورس نهایی رو نذاشتم اما با انجام تک تک مراحل بالا خودتون به سورس نهایی میرسید، پیروز و موفق باشید :)


avatar