تاریخ شمسی(خورشیدی) برای وردپرس

نسخه ۲ این پلاگ - این منتشر شد، برای اطلاعات بیشتر این صفحه را ببینید.

این اولین پلاگ-این(Plugin)هست که برای وردپرس نوشتم ،  فکر می کنم این plugin  یکی از نیازهای اساسی کاربران فارسی زبان وردپرس باشه،  من در واقع برای نوشتن اون زیاد هم زحمت به خرج ندادم! هسته اصلی این plugin توابع شمسی سازی تاریخ باPHP هست که توسط farsiweb.info تحت لیسانسLGPL منتشرشده، آقای میلاد راستیان هم زحمت کشید و یک تابع مثل date تو PHP برای تاریخ شمسی نوشت، پروژه ای به نام jdf. کاری که من کردم این بود که از با استفاده از jdf توابعی برای خورشیدی کردن تاریخ تو وردپرس نوشتم، هدف من اینه که همه فارسی زبونی هایی که از وردپرس استفاده می کنند  بتوننن تاربخا رو شمسی کنن ، واسه همین دو تا کار رو با هم انجام دادم(جلوتر توضیح می دم). به علاوه این که این plugin رو هر دو تا نسخه رایج وردپرس چک کردم.

برای نصب این پلاگ-این:

  1. فایل ها رو از اینجا داونلود کنید.
  2. فایل mps-jalalidate.php رو تو شاخه /wp-content/plugins تو شاخه وردپرس کپی کنید.
  3. از طریق قسمت مدیریت وردپرس و در بخش پلاگ-این ها ،Jalali Date for WordPress رو Activate کنید.
  4. تو همون قسمت مدیریت و تو بخش options->general فرمت های تاریخ و زمان رو طبق این جدول به دلخواه تنظیم کنید.

متاسفانه بستگی به ورژن وردپرس (۱/۲ یا ۱/۵) و یا تگ های template شما احتمالا کار به همین جا ختم نمی شه.
اگه وردپرس ۱/۲ باشه تاریخ کامنت ها شمسی نمی شه، چون تو وردپرس ۱/۲ فیلتری برای این کار در نظر گرفته نشده ، برای حل این مشکل به قسمت "کمی حرفه ای تر" نگاه کنید.
تو وردپرس ۱/۵ با این که مشکل کامنت ها حل می شه ،ولی اگه template شما بر اساس template اصلی وردپرس ۱/۵ساخته شده باشه ، شما احتمالا همه جا ساعت رو به جای تاریخ خواهید دید.

در واقع مشکل بر می گرده به معماری وردپرس و تگ های template اون ،وردپرس دو تا تگ اصلی برای تاریخ داره the_date و the_time ، توی template هر کدوم از این دو تا تگ می تونن ورودی برای format تاریخ یا زمان داشته باشن ولی پلاگ این ما به این format دسترسی نداره واز دو تا فرمتی که تو صفحه options->general برای تاریخ(the_date) و زمان(the_time) تنظیم می شه استفاده می کنه ، خوب پلاگ این ما وقتی فراخوانی می شن که هر کدوم از این template tag ها اجرا بشن، تو وردپرس ۱/۵ (متاسفانه)همه جا از the_time و با format string چه برای تاریخ و چه برای زمان استفاده کرده و این کار رو خراب می کنه ، برای حل این مشکل می تونین تو مدیریت وردپرس و در بخش options->general تنظیمات فرمت ساعت رو هم مثل تاریخ تنظیم کنید.

خوب پس چی کار باید کرد؟

شما باید به template تون نگاه کنید (تو وردپرس ۱/۵ به theme) اگه از تگthe_date استفاده شده مشکل زیادی نخواهید داشت ، کافیه تو صفحه options->general فرمت تاریخ رو طیق این جدول تنظیم کنید. اگه از the_time استفاده شده به قسمت "کمی حرفه ای تر" نگاه کنید.

کمی حرفه ای تر …

این مشکلاتی که تو وردپرس و تاریخش وجود داره خیلی راحت قابل رفعه ، من علاوه بر فیلترهای تاریخ برای وردپرس ،template tag های تاریخ و زمان شمسی رو نوشتم، تا با حدود صرف ۱۰ دقیقه وقت بشه راحت همه مشکلات قبلی رو رفع کرد؛ برای این کار

  1. فایل (های) template رو یک به یک باز کنید
    تو وردپرس ۱/۲ فایل های index.php و wp-commenst.php
    تو وردپرس ۱/۵ تمام فایل های شاخه theme  ای که استفاده شده
  2. تو هرکدوم هر جا هر کدوم از این تابع ها رو دیدن، (بدون تغییر هیچ چیز دیگه) فقط اسمشون رو مثل جدول زیر تغییر بدین.

the_date( -> the_jdate(
the_time( -> the_jtime(
the_weekday( -> the_jweekday(
the_weekday_date( -> the_jweekday_date(
comment_date( -> comment_jdate(
comment_time( -> comment_jtime(

پرانتز ها رو برای این نبستم که ممکنه هر کدوم از این تابع ها ، پارامتر داشته باشن،مهم نیست ، شما فقط اسمشون رو عوض کنید.

همین !

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

جدول فرمت های تاریخ و زمان :

thanx to jdf.farsitools.com

فرمت خروجی مثال
A قبل‏ازظهر و یا بعدازظهر را نشان می دهد قبل ‏ازظهر - بعدازظهر
a ق.ظ و یا ب.ظ را نشان می دهد ق.ظ - ب.ظ
d چندمین روز از ماه را به صورت عدد دورقمی ۰۱ - ۰۲ - ۰۳ - … -۳۱
D نام روز هفته را با یک کلمه ی - د - … - ج
F نام کامل ماه فروردین - اردیبهشت - … - اسفتد
g نمایش ساعت به صورت ۱۲ ساعته ۱ - ۲ - ۳ - … - ۱۲
G نمایش ساعت به صورت ۲۴ ساعته ۰ - ۱ - ۲ - … - ۲۳
h نمایش ساعت به صورت ۱۲ ساعته دورقمی ۰۱ - ۰۲ - … - ۱۲
H نمایش ساعت به صورت ۲۴ ساعته دو رقمی ۰۰ - ۰۱ - ۰۲ - … - ۲۳
i نمایش دقیقه ۰۰ - ۰۱ - ۰۲ - … - ۵۹
l(lower L) نمایش روزهای ماه به صورت عدد ۱ - ۲ - … - ۱۲
m نمایش ماه به صورت عدد دورقمی ۰۱ - ۰۲ - … - ۱۲
n نمایش ماه به صورت عدد ۰ - ۱ - ۲ - … - ۱۲
s نمایش ثانیه یک دقیقه ۰۱ - ۰۲ - … - ۵۹
t تعداد روزها مشخص شده ماه (خورشیدی) ۲۹
w چندمین روز هفته به صورت یک عدد تک رقمی ۰(یکشنبه) - ۱ - ۲ - … - ۶
y نمایش سال به صورت عدد دورقمی ۸۱ - ۸۲ - …
Y نمایش سال به صورت عدد چهار رقمی ۱۳۸۱ - ۱۳۸۲ - ۱۳۸۳ - …
 

پاسخ ها(۱۰)


  1. از مدت ها قبل من هم روی این پروژه کار می کردم . یعنی برگردان تاریخ میلادی به شمسی در وردپرس . اما چون با این کار حدود ۳-۴ تا از پلاگین هام از رده خارج می شدن به همون میلادی اکتفا کردم . هنوز امتحانش نکردم . ..
    موفق و موید باشید …

  2. ناشناس گفت:


    تست شد . من که ایرادی ندیدم . اما چه بهتر بود که روی تقویم و آرشیو وردپرس هم کار می کردین .


  3. آقا بسـیار عالی! موفق باشی;)


  4. سلام..
    تبریک میگم..
    البته من چون ورژن وردپرسم قدیمیه نتونستم تست کنم.


  5. عالیه


  6. تبریک میگم به این کارتان و یک درخواستی داشتم که لطف کنی و یک تاریخ هم برای بی ۲ فارسی کنی ما حالش رو ببریم
    موفق باشی


  7. سلام دوسا عزیز … من می خوام ورد پرس رو فارسی کنم … ورژن ۱/۵ … ممکنه فایل هاش رو برام ارسال کنید ؟


  8. the most popular cannabis website in the world


  9. این پل اگین تو نسخه ۵/۲ کار نمیکنه !!!
    اگه زحمتی نیست یه پچی چیزی واسش بنویس :(

    مانی : پلاگ-این در این نسخه تست شده و مشکلی وجود نداشته.


  10. آقا خیر ببینی
    خیلی وقت بود دنبالش بودم.
    اگه کار کنه اونجور که می خوام خدا خیر دو چندانت بده !! :دی

دنبالک (۳)

نظر دهید