رفع مشکل تاریخ فارسی Parsidate در نسخه 5.3 وردپرس

همانطور که می‌دونید وردپرس در نسخه جدید خودش یعنی 5.3، تغییرات اساسی در توابع و کتابخانه‌های تاریخ و زمان ایجاد کرده و همین تغییرات باعث بروز مشکل در پلاگین‌ها و قالب‌هایی میشه که از date_i18n استفاده کردن.

به طور خلاصه، در این نسخه تابع و اکشن wp_date (مستندات این تابع رو حتما مطالعه کنید) جایگزین تابع و اکشن date_i18n شده و ما باید این تغییر رو در قالب و افزونه مورد نظرمون اعمال کنیم.

افزونه Parsidate و رفع مشکل تاریخ فارسی

قبل از هر چیز نسخه نهایی پارسی‌دیت یعنی 3.0.1 را دانلود و نصب کنید. همانطور که در تصویر می‌بینید، تاریخ پست‌ها (و احتمالا چیزی‌های دیگر!) شمسی نیست. حالا برای رفع مشکل چه کنیم؟!

می‌تونیم چندماه دیگه صبر کنیم تا شاید تیم توسعه‌دهنده! پارسی‌دیت این هماهنگ‌سازی رو انجام بدن یا اینکه خودمون دست به کار بشیم :)

مسیر زیر رو در سورس افزونه پارسی‌دیت دنبال کنید:

wp-parsidate/includes/fixes-dates.php

حالا در خط 20 این فایل یک فیلتر به صورت زیر مشاهده می‌کنید:

add_action('date_i18n', 'wpp_fix_i18n', 10, 3);

فقط کافیه مقدار date_i18n رو به wp_date تغییر بدید. به این شکل:

add_action('wp_date', 'wpp_fix_i18n', 10, 3);

با این تغییر کوچولو، وردپرس من فارسی شد :) دست به کار بشید حتما.