Themefour Shamsi Kit

Aprašymas

تاریخ‌های وردپرس را به تقویم جلالی (شمسی) با ارقام فارسی و قالب‌بندی صحیح تاریخ فارسی تبدیل کنید.

توضیحات

کیت شمسی تم فور تاریخ‌هایی را که وردپرس نمایش می‌دهد به تقویم جلالی (شمسی) تبدیل می‌کند. تاریخ نوشته‌ها، برگه‌ها، بایگانی‌ها، فهرست نوشته‌ها در پیشخوان، پنل انتشار نوشته و دیدگاه‌ها همگی با تقویم شمسی نمایش داده می‌شوند؛ در حالی که تاریخ‌هایی که وردپرس در داخل سیستم ذخیره و استفاده می‌کند، کاملاً بدون تغییر باقی می‌مانند.

دقت تبدیل تاریخ

تبدیل تاریخ با استفاده از یک الگوریتم دقیق مبتنی بر جدول سال‌ها انجام می‌شود که از همان خانواده الگوریتم‌های مورد استفاده در پیاده‌سازی‌های مرجع تقویم جلالی است. سال‌های کبیسه، از جمله سال‌هایی که اسفند ۳۰ روزه است، به‌درستی محاسبه می‌شوند. این تبدیل بر اساس چرخه تقریبی ۳۳ ساله انجام نمی‌شود.

حفظ تاریخ‌های قابل پردازش توسط ماشین به صورت میلادی

این موضوع تفاوت مهمی است که بسیاری از افزونه‌های تاریخ در نظر نمی‌گیرند. قالب‌هایی مانند Y-m-d، زمان‌سنجی ISO 8601 یا تاریخ‌های RFC برای خواندن توسط انسان طراحی نشده‌اند؛ بلکه داده‌هایی هستند که مرورگرها، فیدخوان‌ها، موتورهای جستجو و سایر نرم‌افزارها آن‌ها را پردازش می‌کنند.

تبدیل این تاریخ‌های قابل پردازش توسط ماشین می‌تواند ویژگی‌هایی مانند ویژگی‌های <time datetime="">، داده‌های ساختاریافته schema.org، فیدهای RSS و نقشه‌های سایت را دچار مشکل کند. کیت شمسی تم فور قالب‌های قابل پردازش توسط ماشین را تشخیص می‌دهد و آن‌ها را بدون تغییر به صورت میلادی نگه می‌دارد و فقط قالب‌هایی را تبدیل می‌کند که برای نمایش به کاربران در نظر گرفته شده‌اند.

ترتیب صحیح کلمات در تاریخ فارسی

اگر قالب یا افزونه دیگری از قالب تاریخ انگلیسی مانند F j, Y استفاده کند، کیت شمسی تم فور روز را قبل از ماه قرار می‌دهد تا تاریخ به شکل «۵ مرداد ۱۴۰۵» نمایش داده شود، نه «مرداد ۵, ۱۴۰۵».

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

امکانات

  • نمایش تاریخ‌های جلالی در بخش عمومی سایت، پیشخوان وردپرس و دیدگاه‌ها، با امکان تنظیم مستقل هر بخش.
  • امکان استفاده از ارقام فارسی.
  • نمایش صحیح ترتیب کلمات در قالب‌های تاریخ که با ترتیب انگلیسی نوشته شده‌اند.
  • امکان تعیین قالب تاریخ سفارشی که فقط روی تاریخ‌های تبدیل‌شده اعمال می‌شود و قالب اصلی تاریخ سایت را تغییر نمی‌دهد.
  • نمایش تاریخ شمسی امروز در نوار ابزار پیشخوان وردپرس، با امکان نمایش تاریخ میلادی در زیر آن تا هر دو تقویم همیشه در دسترس باشند.
  • فعال‌سازی فونت وزیرمتن برای پیشخوان وردپرس، که از روی سرور خود سایت بارگذاری می‌شود و هیچ درخواستی به سرویس فونت خارجی ارسال نمی‌کند.
  • انتخابگر تاریخ شمسی در ویرایشگر بلوکی (گوتنبرگ): تقویمی که از تاریخ انتشار باز می‌شود، جلالی است.
  • فیلدهای تاریخ شمسی برای تاریخ انتشار در ویرایشگر کلاسیک و ویرایش سریع (Quick Edit).
  • تاریخ سفارش ووکامرس در ویرایشگر سفارش، به‌صورت سال، ماه و روز شمسی.
  • تقویم شمسی برای تاریخ شروع و پایان فروش ویژه محصولات و متغیرها، و تاریخ انقضای کوپن‌های ووکامرس.
  • در همه این انتخابگرها، وردپرس و ووکامرس همان تاریخ میلادی صحیح را ذخیره می‌کنند؛ فقط شیوه وارد کردن تاریخ شمسی می‌شود.
  • شورت‌کدهای نمایش تاریخ شمسی در هر جای سایت: [shamsi_today]، [shamsi_date]، [shamsi_post_date] و [shamsi_post_modified]، همراه با تب «مستندات» و نمونه‌های آماده کپی. تاریخ امروز پشت کش صفحه هم درست می‌ماند.
  • تاریخ شمسی در پیوند یکتای نوشته‌ها (مانند ‎/1405/08/05/نام-نوشته/‎)، با تغییر مسیر دائمی پیوندهای میلادی قبلی به نشانی جدید. این گزینه به‌طور پیش‌فرض خاموش است.
  • جایگزینی «ي»، «ك» و ارقام عربی با معادل فارسی هنگام ذخیره، و جستجویی که با هر دو صفحه‌کلید نتیجه می‌دهد. این گزینه به‌طور پیش‌فرض خاموش است.
  • غیرفعال کردن ویرایشگر گوتنبرگ و بازگشت نوشته‌ها و برگه‌ها به ویرایشگر کلاسیک وردپرس.
  • غیرفعال کردن صفحه ابزارک‌های بلوکی و بازگشت به رابط کلاسیک ابزارک‌ها.

امکانات نسخه پرو

نسخه پرو امکانات گسترده‌تری برای شمسی‌سازی وردپرس، ووکامرس، فرم‌سازها، افزونه‌های شخص ثالث و ساخت ابزارهای تقویم ارائه می‌دهد.

  • دارای بیش از 15 افزودنی برای سازگاری با افزونه‌های معروف وردپرس
  • دارای شورت کد ساز نمایش ساعت و زمان
  • دارای تقویم ساز اختصاصی با طرح‌های آماده
  • امکانات بیشتر برای وردپرس و ووکامرس
  • سازگاری با فروشگاه ساز EDD
  • و ده‌ها قابلیت و ویژگی بیشتر

نصب

  1. افزونه را در مسیر /wp-content/plugins/ آپلود کنید یا از بخش افزونه‌ها > افزودن افزونه جدید آن را نصب کنید.
  2. افزونه را فعال کنید.
  3. از منوی مدیریت وردپرس، «کیت شمسی تم فور» را باز کنید. افزونه با تنظیمات پیش‌فرض منطقی آماده استفاده است و نیازی به پیکربندی اجباری ندارد.

پرسش‌های متداول

آیا این افزونه تاریخ‌های ذخیره‌شده در پایگاه داده را تغییر می‌دهد؟

خیر. تاریخ نوشته‌ها دقیقاً همان‌طور که وردپرس آن‌ها را ذخیره می‌کند باقی می‌مانند. فقط تاریخ نمایش‌داده‌شده تغییر می‌کند. اگر افزونه را غیرفعال کنید، تاریخ‌ها دوباره به صورت میلادی نمایش داده می‌شوند و نیازی به تبدیل مجدد یا برگرداندن تغییرات پایگاه داده وجود ندارد.

آیا این افزونه باعث خراب شدن نقشه سایت، فید RSS یا داده‌های ساختاریافته می‌شود؟

خیر. قالب‌هایی که برای پردازش توسط ماشین در نظر گرفته شده‌اند شناسایی می‌شوند و به صورت میلادی باقی می‌مانند. این یک تصمیم طراحی عمدی است، نه یک رفتار تصادفی یا جانبی.

قالب سایت من ماه را قبل از روز نمایش می‌دهد. آیا می‌توانم این مشکل را برطرف کنم؟

بله. گزینه «ترتیب فارسی تاریخ» را فعال کنید. زمانی که قالب تاریخ با ترتیب انگلیسی نوشته شده باشد، افزونه روز را قبل از ماه قرار می‌دهد.

اگر قالب تاریخ سفارشی وارد کنید، افزونه دقیقاً از همان قالبی که وارد کرده‌اید استفاده می‌کند.

آیا می‌توانم قالب تاریخ را کنترل کنم؟

بله. اگر قالب تاریخ سفارشی را خالی بگذارید، افزونه از قالبی که در تنظیمات > عمومی وردپرس تعیین شده است استفاده می‌کند. همچنین می‌توانید قالبی مانند j F Y را وارد کنید تا فقط برای تاریخ‌های تبدیل‌شده، قالب موردنظر شما اعمال شود.

آیا با ووکامرس کار می‌کند؟

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

از نسخه ۱.۳.۰، انتخابگر تاریخ شمسی هم در ووکامرس وجود دارد: تاریخ سفارش در ویرایشگر سفارش، تاریخ‌های فروش ویژه محصولات و متغیرها، و تاریخ انقضای کوپن‌ها با تقویم جلالی انتخاب می‌شوند و ووکامرس همان تاریخ میلادی صحیح را ذخیره می‌کند. هر کدام از این انتخابگرها در تب «نمایش» جداگانه قابل خاموش کردن است.

گزارش‌های Analytics ووکامرس به تقویم جلالی و فیلدهای تاریخ شمسی در صفحه پرداخت، بخشی از نسخه پرو در themefour.com هستند.

منابع شخص ثالث

فونت وزیرمتن (Vazirmatn) همراه این افزونه منتشر می‌شود و فقط در صورت فعال بودن گزینه مربوطه بارگذاری می‌شود.

  • نام فونت: Vazirmatn (وزیرمتن)، سازنده: صابر راستی‌ کردار
  • مجوز: SIL Open Font License 1.1، نشانی مجوز: https://scripts.sil.org/OFL
  • منبع: https://github.com/rastikerdar/vazirmatn
  • متن کامل مجوز: admin/fonts/Vazirmatn-OFL.txt

فایل فونت از روی سرور خود سایت سرو می‌شود و هیچ ارتباطی با سرویس‌های بیرونی مانند Google Fonts برقرار نمی‌شود.

تصاویر

  1. پنل تنظیمات افزونه کیت شمسی
  2. تنظیمات بخش نمایش کیت شمسی وردپرس.
  3. شمسی سازی تاریخ سفارشات ووکامرس
  4. شمسی سازی تاریخ نوشته و برگه‌ها

تغییرات نسخه

1.4.1

  • رفع اشکال: تاریخ دیدگاه‌ها در فهرست دیدگاه‌های پیشخوان، و تاریخ پرونده‌ها در فهرست رسانه، میلادی نمایش داده می‌شد (مثلاً «2026/10/28» کنار ساعتی با ارقام فارسی). وردپرس این ستون‌ها را با قالب عددی «Y/m/d» می‌سازد و افزونه هر قالب عددی را عمداً قالب ماشینی حساب می‌کرد و میلادی نگه می‌داشت تا تاریخ‌های ISO و انتخابگرهای تاریخ خراب نشوند. فقط داخل فیلترهای تاریخ دیدگاه و نوشته، و فقط در پیشخوان، همین قالب جدول‌های وردپرس شمسی می‌شود.

1.4.0

  • جدید: شورت کدهای تاریخ شمسی [shamsi_today]، [shamsi_date]، [shamsi_post_date] و [shamsi_post_modified]، و تب «مستندات» با خروجی زنده هر شورت کد روی همان سایت و دکمه کپی. [shamsi_today] پشت کش صفحه هم درست می‌ماند: تاریخ در مرورگر بازدیدکننده بر اساس منطقه زمانی سایت دوباره ساخته می‌شود، پس صفحه ای که دیروز کش شده تاریخ دیروز را نشان نمی‌دهد. [shamsi_date] تاریخ شمسی هم می‌پذیرد و برای تاریخ شمسی نامعتبر چیزی چاپ نمی‌کند، نه یک تاریخ غلط. شورت کدهای تاریخ نوشته با ویژگی id بیرون از حلقه نوشته‌ها هم کار می‌کنند.

  • جدید: تاریخ شمسی در پیوند یکتای نوشته‌ها، به طور پیش فرض خاموش. ارقام عمداً لاتین می‌مانند، چون ارقام فارسی در نشانی اینترنتی کدگذاری درصدی می‌شوند. پیوندهای میلادی قبلی با تغییر مسیر ۳۰۱ به نشانی شمسی منتقل می‌شوند، بایگانی روز، ماه و سال شمسی کار می‌کند، و با خاموش کردن گزینه، پیوندهای شمسی به نشانی میلادی برمی گردند و از کار نمی‌افتند. روزی مانند ۳۱ اردیبهشت که در تقویم میلادی ماه دوم معادل ندارد، به درستی باز می‌شود.

  • جدید: اصلاح حروف عربی، به طور پیش فرض خاموش. «ي»، «ى»، «ك» و ارقام عربی هنگام ذخیره در عنوان، محتوا، خلاصه، دیدگاه و نام دسته‌ها به فارسی تبدیل می‌شوند، و جستجو نوشته‌های قدیمی با حروف عربی را هم پیدا می‌کند. پیوندها، تگ‌های HTML، داده بلوک‌ها و شورت کدها دست نخورده می‌مانند، نشانی نوشته‌های موجود تغییر نمی‌کند، و «ة» عمداً تبدیل نمی‌شود.

1.3.2

  • سازگار و یکپارچه با وردپرس 7.1.4

1.3.1

  • رفع اشکال: اسکریپت ویرایشگر کلاسیک روز میلادی را بدون صفر («5») می‌نوشت، در حالی که وردپرس مقدار اصلی را دورقمی («05») نگه می‌دارد و این دو را به‌صورت رشته مقایسه می‌کند. برای روزهای ۱ تا ۹ ماه میلادی، فقط باز کردن کادر تاریخ کافی بود تا وردپرس تاریخ را تغییریافته حساب کند، پیش‌نویسِ «بلافاصله منتشر شود» را روی همان لحظه ثابت کند و دکمه «انصراف» را بی‌اثر کند. همه مقادیر اکنون دورقمی نوشته می‌شوند.

  • رفع اشکال: وارد کردن روز ۳۱ در ماهی ۳۰ روزه در ویرایشگر کلاسیک، بی‌صدا به روز اول ماه بعد منتقل می‌شد. اکنون روز به آخرین روز ماه محدود می‌شود.

1.3.0

  • جدید: انتخابگر تاریخ شمسی در ویرایشگر بلوکی (گوتنبرگ). تقویمی که از تاریخ انتشار باز می‌شود جلالی است و تاریخ مستقیماً در ویرایشگر ثبت می‌شود، پس وردپرس همان تاریخ میلادی صحیح را ذخیره می‌کند. متن دکمه تاریخ انتشار در نوار کناری هم شمسی نمایش داده می‌شود.

  • جدید: فیلدهای تاریخ شمسی برای تاریخ انتشار در ویرایشگر کلاسیک و ویرایش سریع (Quick Edit).

  • جدید: انتخابگر تاریخ شمسی در ووکامرس، برای تاریخ سفارش در ویرایشگر سفارش (هم صفحه کلاسیک و هم HPOS)، تاریخ شروع و پایان فروش ویژه محصولات و متغیرها، و تاریخ انقضای کوپن‌ها. هر انتخابگر در تب «نمایش» جداگانه قابل خاموش کردن است.

  • رفع اشکال: هر فراخوانی مستقیم wp_date() ساعت را به وقت UTC نشان می‌داد، یعنی روی سایتی با منطقه زمانی تهران سه و نیم ساعت عقب‌تر، و از ساعت ۲۰:۳۰ تا نیمه‌شب تاریخ روز قبل. علت این بود که wp_date() زمان خام UTC را به فیلتر می‌دهد و افزونه آن را بدون اعمال منطقه زمانی سایت تبدیل می‌کرد. تاریخ نوشته‌ها سالم دیده می‌شد چون فیلترهای خودش بعداً خروجی را بازنویسی می‌کنند.

  • رفع اشکال: قالبی که حرف escape‌شده c، r یا U داشت (مانند «j F \r») قالب ماشینی تشخیص داده می‌شد و تاریخ میلادی انگلیسی چاپ می‌کرد. حروف escape‌شده اکنون پیش از این بررسی کنار گذاشته می‌شوند.

  • رفع اشکال: ذخیره تنظیمات روی میزبانی که افزونه mbstring نداشت با خطای مرگبار متوقف می‌شد، چون mb_substr() بدون بررسی وجودش فراخوانی می‌شد. اکنون از روشی استفاده می‌شود که به mbstring نیاز ندارد.

  • رفع اشکال: حذف افزونه، تنظیمات مشترک با نسخه پرو را هم پاک می‌کرد؛ پس کسی که به نسخه پرو ارتقا می‌داد و بعد نسخه رایگان را حذف می‌کرد، تنظیماتش را از دست می‌داد. اکنون اگر نسخه پرو نصب باشد، تنظیمات دست‌نخورده می‌ماند. در شبکه‌های چندسایته هم پاک‌سازی دیگر به ۱۰۰ سایت اول محدود نیست.

  • سازگاری با وردپرس ۷.۱.

1.2.1

  • رفع اشکال: نمایش حرف لاتین «S» در میان تاریخ شمسی. موتور قالب‌بندی هر نویسه‌ای را که نمی‌شناخت عیناً چاپ می‌کرد، و توکن S (پسوند ترتیبی انگلیسی مانند st و th) جزو نویسه‌های ناشناخته بود. قالب پیش‌فرض متای آوادا «F jS, Y» است و به همین دلیل روی این قالب دیده می‌شد. اکنون S در فارسی به‌درستی هیچ خروجی‌ای ندارد و پیش از جابه‌جایی روز و ماه از رشته قالب حذف می‌شود تا ویرگول بی‌استفاده هم پاک شود.

  • رفع اشکال: توکن‌های z، W، o، u، v، B و توکن‌های منطقه زمانی e، I، O، P، p، T و Z نیز عیناً چاپ می‌شدند. اکنون توکن‌های تقویمی بر پایه تقویم جلالی محاسبه می‌شوند و توکن‌های منطقه زمانی با منطقه زمانی واقعی سایت رندر می‌شوند.

1.2.0

  • جدید: امکان غیرفعال کردن ویرایشگر گوتنبرگ و بازگشت به ویرایشگر کلاسیک وردپرس

1.1.0

  • جدید: امکان اعمال فونت وزیر متن برای داشبورد وردپرس

1.0.1

  • تمام آثار مربوط به افزونه تجاری جداگانه از این بسته حذف شد.

1.0.0

  • انتشار اولیه.

Ekrano nuotraukos

Atsiliepimai

Įskiepis neturi atsiliepimų.

Programuotojai ir komandos nariai

“Themefour Shamsi Kit” yra atviro kodo programa. Prie jos sukūrimo prisidėję žmonės surašyti toliau.

Autoriai