از افزونه Advanced Custom Fields رفتم که وب سایت اصلی اون هم ACF می باشد . اما فیلد تاریخ این افزونه میلادی هست و با وردپرس فارسی هم سازگار نشده و نیاز داشتم که خروجی تاریخ اون رو شمسی کنم
گویا اخیرا تابع jdate دیگه پشتیبانی نمیشه و جای اون با pdate پر شده و توی وردپرس فارسی هم این تغییرات انجام گرفته ولی من که دیدم اسمش همون jdate هست زیاد درگیرش نشدم چون اصلا برام مهم نبود همین که تو وردپرس یک تابع فارسی ساز تاریخ شمسی داشته باشی کافی هست برای اینکه ازش استفاده کنیم
در حال پیش فرض وقتی فیلد اضافی تاریخ که همون date picker هست رو انتخاب میکنیم و یک تاریخ در نوشته ثبت میکنیم با استفاده از کد زیر میتونیم این تاریخ رو فراخوانی کنیم
get_field('نام فیلد')اما خروجی این تابع یک تاریخ میلاید به صورت پشت سر هم و بدون فاصله خواهد بود مثلا به صورت :
20141021
که سال رو به صورت 4 رقمی سپس ماه و سپس روز رو نشون میده
اما نیاز هست که این تاریخ شمسی سازی بشه تابع jdate دقیقا همون کاری رو که تابع date توی php انجام میده برای ما خروجی خواهد داد پس کافیه ما با استفاده از strtotime این تاریخ رو داخل یک متغیر ذخیره کنیم و سپس از اون استفاده کنیم
اگر نام فیلد تاریخی که انتخاب کردیم exfield نامگذاری کنیم کدی که برای نمایش این تاریخ به صورت شمسی قراره بشه به این صورت خواهد بود
<?php if(get_field('exfield')){
$moohdate=strtotime(get_field('exfield'));
echo '<p>تاریخ انقضا: ' . jdate("d F Y",$moohdate) . '</p>';}?>البته من کاملا باز شده کد ها رو نوشتم تا درکش راحت تر باشه یک متغیر به نام moohdate هم تعریف کردم که شما میتونید به دلخواه نام گذاری کنید
اما این فقط برای شمسی سازی تاریخ خروجی استفاده میشه اگر بخواهیم پنل مدیریت و قسمتی رو که فیلد تاریخ وارد میکنیم هم شمسی باشه باید کد جاوا اسکریپت اون رو تغییر بدیم که شاید در آینده به عنوان یک پلاگین فرصت شد تا منتشر کنم
سلام
پاسخ دادنحذفدقیقا با همین موضوع برخورد کردم.
می خواستم بپرسم شما فارسی سازی datepicker رو انجام دادید؟ واگر بله چطور ؟
متشکرم
فارسی سازی خود datepicker رو لازم نداشتم انجام ندادم
پاسخ دادنحذفولی فکر کنم وجود داشته باشه یعنی برای jquery date picker که قبلا فارسی سازی انجام شده
یه کم کارش زیاده ولی کار سختی نیست