نوشته شده توسط
سعید مقدم
در
18 بهمن 1398
آپدیت 5.3 وردپرس یکی از پر تغییرترین آپدیت های اخیر این cms بوده است که با وجود افزودن قابلیت ها و تغییرات ساختاری مفید، با توجه به گستره بالای تغییرات باعث بروز مشکلاتی در هماهنگی با افزونه ها شده است. البته افزونه هایی که دارای پشتیبانی بوده اند سریعا خود را با تغییرات وقف داده اند اما افزونه های قدیمی و فاقد پشتیبانی از این قضیه مستثنی بوده اند؛ یکی از این افزونه ها wp-jalali بوده است که بر روی بسیاری از سایت های وردپرس فارسی نصب است اما حدود 3 سالی است که بروز نشده است و باعث بروز مشکل تاریخ وردپرس و میلادی شدن آن شده است.
فهرست مطالب
عدم بروزرسانی افزونه wp-jalali در نسخه 5.3 وردپرس سبب بروز مشکل عدم تبدیل تاریخ میلادی به شمسی وردپرس و ووکامرس شده است که دلیل ان تغییر برخی توابع تاریخ در هسته وردپرس و نتیجتا عدم بروز شدن افزونه به تناسب این تغییر بوده است.
برای حل مشکل میلادی شدن تاریخ وردپرس در افزونه تقویم جلالی wp-jalali تنها کافی است که توابع ذکر شده را تغییر دهید تا مشکل برطرف شود و مجددا افزونه قابل استفاده گردد و تاریخ ها را شمسی کند.
نحوه حل مشکل تاریخ وردپرس
۱. ابتدا از بخش “ویرایشگر افزونه” یا بخش “plugins” در محل نصبی وردپرس در هاست خود، افزونه wp-jalali را پیدا کنید و وارد شوید (ابتدا از کد ها یک نسخه پشتیبان تهیه کنید تا درصورت بروز مشکل در پیاده سازی، بتوانید بازیابی کنید).
۲. وارد پوشه “inc” سپس فایل “wp-jalali-filters.php” شوید.
۳.در خط ۱۴ کد زیر را :
add_filter(‘date_i18n’, ‘ztjalali_ch_date_i18n’, ۱۱۱, ۴);
به
add_filter(‘wp_date’, ‘ztjalali_ch_date_i18n’, ۱۱۱, ۴);
تغییر دهید (دانلود کد ها به صورت txt).
۴. تغییرات را دخیره کنید و اگر از افزونه کش استفاده میکنید یک بار کل کش سایت را پاک کنید. تغییرات اعمال خواهد شد.
این روش تست شده است و مشکل میلادی شدن تاریخ وردپرس را حل خواهد کرد. توجه کنید که قبل از این که تغییرات را اعمال کنید (بهتر است کد را دانلود کنید تا مشکلی پیش نیاید) از کد های افزونه پشتیبان داشته باشید. البته اگر اشتباهی کردید و سایت به مشکل خود کافی است پوشه افزونه جلالی را پاک کنید و مجددا از مخزن وردپرس آن را دانلود و فعال کنید تا مشکلات حل شود.
اگر به هر دلیلی تغییر کد برای شما مناسب نبود میتوانید از افزونه های دیگر شمسی کننده تاریخ وردپرس مانند پارسی دیت استفاده کنید که به دلیل بروز بودن میتواند مشکل شما را حل کند فقط توجه داشته باشید تنها یک برنامه شمسی ساز و فارسی ساز نصب داشته باشید تا از تداخل جلوگیری به عمل آید.
افزونه پارسی دیت توسط تیم وردپرس فارسی توسعه پیدا کرده است و به طور منظم (نسبتا منظم !!) آپدیت های لازمه را دریافت میکند که میتوانید گزینه مناسبی جهت جایگزینی با تقویم جلالی شود.
البته با توجه به قدمت افزونه جلالی و بهینه شدن بسیاری از افزونه های دیگر با آن، ممکن است تطابق افزونه پارسی دیت با سایز افزونه ها کمی کمتر باشد که احتمال میرود در طول زمان این مشکل بهبود یابد.
بهترین راه برای حل این مشکل اصلاح کد تقویم جلالی wp-jalali و تغییر تابع میباشد که کاری ساده و کم ریسک است اما اگر میخواهید از دست بردن به کد ها خودداری کنید یا برای آینده با این مشکلات مواجه نشوید نصب افزونه جدید پارسی دیت که دارای بروزرسانی و تیم قوی میباشد برای شما بهتر خواهد بود.
امید است این مقاله کوتاه برای شما مفید بوده باشد و مشکل تاریخ وردپرس شما با این روش ها حل گردد. اگر با مشکلی در روند کاری مواجه شده اید میتوایند آن را در کامنت ها مطرح نمایید یا با تماس با بخش طراحی و توسعه ساناست، حل این مشکل را بر عهده ما بگذارید. سپاس از همراهی شما.
سلام
من یه قالب دارم که با افزونه ها تاریخ شمسی مشکل برطرف نشد
فونت ها رو فارسی میکرد ولی میلادی بود هنوز و روزهای هفته از دوشنبه شروع میشد
راهی هست که مشکلش برطرف بشه ؟
درود؛ اگر فارسی ساز نصب کردید غیر فعال کنید و ووکامرس و ووکامرس فارسی رو به اخرین نسخه اپدیت کنید؛ خودش فارسی میکنه.
اگر در قالب اعمال نشد باید با طراح قالب مرتبط بشید و ازشون راهنمایی بگیرید.
موفق باشید
سلام وقتتون به خیر خسته نباشید.
در پنل سفارشات ووکامرس وقتی مشتری خریدی از سایت انجام میده در مرحله (در حال انجام )
قرار میگیره و تاریخش هم کاملا دقیق و درسته
مثلا به درستی درج شده 26 تیر، 1399
حال مشکل اینجاست زمانی ک وارد آن صفحه سفارش میشویم و به وضعیت تکمیل شده تغییر میدهمش تاریخ آن کلا به هم میریزد و عوض میشود و به صورت زیر در میاید
4 اردیبهشت، 778
باسلام و وقت بخیر
به دو دلیل مشکل ممکن است رخ داده باشد :
تایم سرور (با هاست) تنظیم نیست
تایم وردپرس بر اساس وقت محلی تنظیم نشده باشد
با بررسی و حل دو مورد ذکر شده باید مشکل بشه
ممنون از مطلب مفیدتون. یک ماهی بود درگیر مشکل تاریخ وردپرس بعد اپدیت بودم که مشکل من حل شد با تغییر کد طبق آموزشتون