تخصيص تنسيق الوقت والتاريخ (Customizing the Time and Date Format)
تُستخدم بعض وظائف وسوم ووردبريس لعرض أو إرجاع معلومات التاريخ والوقت؛ وتعتبر the_date() و the_time() أمثلة على ذلك.
افتراضياً، ستقوم هذه الوظائف لعرض أو إرجاع التاريخ والوقت بالتنسيق المحدد في الإدارة > الإعدادات > عام. هذا هو المكان الذي سيتم فيه تطبيق تخصيص تنسيق التاريخ والوقت في جميع أنحاء تثبيت ووردبريس.
تنسيق التاريخ والوقت
لاحظ سلسلة الأحرف بجوار كل تنسيق للتاريخ والوقت في لقطة الشاشة. تُسمى هذه السلسلة سلسلة التنسيق (format string). يمثل كل حرف جزءاً معيناً من التاريخ أو الوقت.
على سبيل المثال، سلسلة التنسيق:
l, F j, Y
تنئش تاريخاً يظهر بالشكل التالي (لاحظ أن الفواصل تُقرأ حرفياً):
Friday, September 24, 2004
إليك ما يمثله كل حرف تنسيق في السلسلة أعلاه:
l= الاسم الكامل لليوم من الأسبوع (حرف L صغير).F= الاسم الكامل للشهر.j= يوم الشهر.Y= السنة في 4 أرقام. (حرف y الصغير يعطي آخر رقمين من السنة)
حروف التنسيق قياسية ومستخدمة عالمياً في لغة البرمجة PHP. ونظراً لأن ووردبريس مكتوب بلغة برمجة PHP، يمكنك استخدام جدول أحرف تنسيق التاريخ والوقت مباشرة من موقع PHP على الويب.
إليك جدولاً يضم بعض العناصر الأكثر فائدة الموجودة هناك:
| يوم الشهر (Day of Month) | ||
|---|---|---|
d |
رقمي، مع أصفار بادئة | 01–31 |
j |
رقمي، بدون أصفار بادئة | 1–31 |
S |
اللاحقة الإنجليزية ليوم الشهر | st أو nd أو th في الأول، الثاني أو الخامس عشر. |
| يوم الأسبوع (Weekday) | ||
l |
الاسم الكامل (حرف ‘L’ صغير) | الأحد – السبت |
D |
اسم مكون من ثلاثة أحرف | الاثنين – الأحد |
| الشهر (Month) | ||
m |
رقمي، مع أصفار بادئة | 01–12 |
n |
رقمي، بدون أصفار بادئة | 1–12 |
F |
اسم نصي كامل | يناير – ديسمبر |
M |
نص مكون من ثلاثة أحرف | يناير – ديسمبر |
| السنة (Year) | ||
Y |
رقمي، 4 أرقام | مثل: 1999، 2003 |
y |
رقمي، رقمين | مثل: 99، 03 |
| الوقت (Time) | ||
a |
حروف صغيرة | صباحاً (am)، مساءً (pm) |
A |
حروف كبيرة | صباحاً (AM)، مساءً (PM) |
g |
الساعة، نظام 12 ساعة، بدون أصفار بادئة | 1–12 |
h |
الساعة، نظام 12 ساعة، مع أصفار بادئة | 01–12 |
G |
الساعة، نظام 24 ساعة، بدون أصفار بادئة | 0-23 |
H |
الساعة، نظام 24 ساعة، مع أصفار بادئة | 00-23 |
i |
الدقائق، مع أصفار بادئة | 00-59 |
s |
الثواني، مع أصفار بادئة | 00-59 |
T |
اختصار المنطقة الزمنية | مثل: EST، MDT … |
| التاريخ/الوقت الكامل (Full Date/Time) | ||
c |
معيار ISO 8601 | 2004-02-12T15:19:21+00:00 |
r |
معيار RFC 2822 | Thu, 21 Dec 2000 16:01:07 +0200 |
U |
طابع زمن يونكس (الثواني منذ حقبة يونكس) | 1455880176 |
أمثلة على سلاسل التنسيق (Format String Examples)
إليك بعض الأمثلة على تنسيق التاريخ مع النتيجة المُخرجة.
F j, Y g:i a– November 6, 2010 12:50 amF j, Y– November 6, 2010F, Y– November, 2010g:i a– 12:50 amg:i:s a– 12:50:48 aml, F jS, Y– Saturday, November 6th, 2010M j, Y @ G:i– Nov 6, 2010 @ 0:50Y/m/d \a\t g:i A– 2010/11/06 at 12:50 AMY/m/d \a\t g:ia– 2010/11/06 at 12:50amY/m/d g:i:s A– 2010/11/06 12:50:48 AMY/m/d– 2010/11/06
تجاوز تنسيق الإعدادات العامة (Overriding General Settings Formatting)
تقبل وظائف الوقت والتاريخ سلسلة التنسيق (format string) كمعامل من أجل تجاوز تنسيق التاريخ والوقت الافتراضي لأماكن معينة في ملفات القالب أو الإضافة. تماماً كما هو الحال في الإعدادات العامة، تُعد سلسلة التنسيق هذه قالباً للأحرف حيث يمثل كل حرف جزءاً معيناً من التاريخ أو الوقت.
داخل ملف القالب، يبدو تعيين سلسلة تنسيق التاريخ والوقت كمعامل لوسم القالب the_time() على هذا النحو:
Posted on <?php the_time( 'l, F jS, Y' ); ?>.
والذي سيتم عرضه على الواجهة الأمامية لموقعك على النحو التالي:
Posted on Friday, September 24th, 2004.
التعريب (Localization)
لتعريب التاريخ والوقت، استخدم وظيفة wp_date(). تتصرف وظيفة wp_date() أساساً مثل وظيفة date() في PHP، إلا أنها تقوم أيضاً بترجمة أشياء مثل أسماء الشهور وأيام الأسبوع وما شابه إلى الإعدادات المحلية الحالية للموقع. يمكنك استبدال استدعاء date() باستدعاء wp_date()، باستخدام نفس الوسائط.
$date = wp_date( 'F j, Y' );
$time = wp_date( 'g:i a' );
بدلاً من ذلك، يمكنك لف التنسيق المحدد مسبقاً في __() أو _e() من أجل السماح للمترجمين بضبط التاريخ والوقت ليناسبا التنسيق المحلي المناسب. إذا قمت بذلك، فيجب عليك أيضاً تضمين تعليق للمترجم، لإعلام المترجمين بما يشير إليه تنسيق التاريخ وأين يتم استخدامه، حتى يتمكنوا من تحويله بدقة.
__( 'Y/m/d g:i:s a', 'textdomain' );
الحماية وتخطي الرموز (Escaping)
بعض الحروف ليس لها تنسيق مرتبط في وظيفة تاريخ PHP. على سبيل المثال، سيؤدي إرسال الحرف x في سلسلة التنسيق حالياً إلى إرجاع الحرف x حرفياً. ومع ذلك، قد يتغير هذا في المستقبل وقد يصبح لـ x تنسيق مرتبطة به.
لهذا السبب يجب عليك دائماً عمل تخطي (escaping) للأحرف الحرفية في سلسلة التاريخ المنسقة باستخدام \. ملاحظة أنه في المثال التالي، يتم تخطي كل حرف من كلمة of.
wp_date( __( 'l jS \o\f F Y', 'textdomain' ) );
سيتم عرض هذا المثال على الواجهة الأمامية لموقعك على النحو التالي:
Saturday 25th of February 2017