تصميم قوالب قوالب ووردبريس التابعة باستخدام ملف JSON واحد
نشرت: 2021-10-26منذ اللحظة التي فتحت فيها أول متجر موضوعي في عام 2008 إلى يومنا هذا كشخص يقوم فقط بالعبث ، كانت خطتي دائمًا هي بناء موضوع واحد في قالب CSS Zen Garden. كان هذا مشروعًا أطلقه Dave Shea في أوائل العقد الأول من القرن الحادي والعشرين لإظهار كيف يمكن للمصممين التعامل مع موقع من خلال CSS وحدها. سيبقى HTML كما هو ، لكن التصميم يمكن أن يكون أي شيء.
لقد حققت هذا الهدف عدة مرات مع عدة مشاريع. من الناحية الفنية ، كل ما احتجت إليه هو ترميز سليم معماريًا في قالب WordPress و CSS مخصص في قالب فرعي.
كان المفهوم بسيطًا ، لكن مع مرور الوقت تغيرت رؤيتي. أردت إنشاء شيء يجعل تصميم هذه الأنواع من السمات الفرعية أسهل. لذلك ، قمت ببناء أنظمة مخصصة للتغلب على افتقار WordPress إلى الأدوات في مجال تصميم السمات. لا أفتخر كثيرًا ، لكنني شعرت أنني ابتكرت بعض الأساليب المفيدة. لقد سمحوا لمصممي السمات الفرعية بإدخال القيم في ملفات التكوين ، مثل أسماء عائلة الخطوط وأكواد الألوان. يمكن أيضًا الكتابة فوق معظم هذه بواسطة المستخدمين النهائيين عبر أداة التخصيص.
بحلول عام 2018 ، كنت أعمل بجد بالفعل على ما يمكن أن يكون أعظم ما لدي ، أفضل موضوع WordPress قمت بإنشائه على الإطلاق. كنت قد خططت أيضًا أن يكون هذا هو الأخير. كنت أفكر في الخروج من اللعبة لفترة من الوقت. لكن ، كان هذا مشروعًا كان علي أن أتحقق منه.
بعد ذلك ، فجّر محرر الكتلة الجديد كل شيء. لقد عملت معها لعدة أشهر قبل إطلاقها ، لكنني كنت أعلم أن تطوير الموضوع لن يكون هو نفسه أبدًا. سيستمر مشروع Gutenberg في النضج وإعادة تشكيل مستقبل WordPress.
أطلقت في النهاية موضوعي. كانت واحدة من أقدم المنتجات التجارية التي دعمت نظام الكتل الجديد. ومع ذلك ، فقد كنت مفرغًا من الهواء أيضًا.
كانت هذه الأيام الأولى لمحرر الكتلة. لا أحد يعرف حقًا ما الذي سننظر إليه في غضون ثلاث سنوات أو أكثر ، ولكن إذا كنت تولي القليل من الاهتمام ، يمكنك أن ترى أن تطويرها سيتطور إلى شيء مختلف تمامًا عما كان عليه في ذلك الوقت. لقد أمضيت أكثر من عام في بناء نظام ثيمات سيصبح غير ذي صلة في وقت قصير - منحت ، اعتقدت أننا سنصل إلى هذه الوجهة في وقت أقرب بكثير.
سيقوم WordPress 5.9 بشحن المكونات الفرعية النهائية لتحرير الموقع الكامل. وسيشمل ذلك دعم سمات الكتلة الموجودة تحت الغطاء. يمكن للمستخدمين الذين قاموا بتثبيتها تخصيصها من خلال محرر الموقع وواجهة الأنماط العامة.
أكثر ما يثيرني هو الشيء الذي أيقظني كل صباح منذ 13 عامًا: مواضيع الأطفال.
لقد عملت سمات Block الفرعية جزئيًا في مكون Gutenberg الإضافي لأشهر. ومع ذلك ، فإن الميزة التي كنت أتطلع إليها كثيرًا لم تكن جاهزة حتى قبل أسبوع. يسمح التصحيح الجديد للقالب الفرعي بالكتابة فوق القيم الفردية لملف theme.json الأصل. في الأساس ، يتم دمج الملفين ، مع إعطاء الأولوية للطفل.
لماذا كنت متحمسًا جدًا لهذه الميزة؟ لأنه كان نفس النظام الذي بنيته في السنوات الماضية - لكنه أفضل.
بعد رؤية هذه الأرض في النسخة المطورة من Gutenberg ، كان أول شيء فعلته هو تحميل سمة مخصصة كنت أعالجها. إنه مشروع كنت أقوم ببنائه من أجل المتعة وتنوير نفسي.

بعد ذلك ، قمت بإنشاء مشروع جديد في محرر الكود الخاص بي. أضفت ملف style.css المطلوب وقمت بتوصيل حقول الرأس المناسبة. لن أحتاجه بعد ذلك. يعتمد تصميم موضوع طفلي على ميزة أخرى تمامًا.

لقد أضفت theme.json على مستوى جذر القالب الفرعي وبدأت أستمتع أكثر مما كنت أتمتع به منذ فترة طويلة.
لقد اخترت لونين من ألوان الخريف وخط عنوان ممتع. في غضون بضع دقائق ، تم رش طبقة جديدة من الطلاء عبر التثبيت الاختباري. لم يكن التصميم ثوريًا أو أي شيء من هذا القبيل. لقد اندهشت للتو من مدى سهولة تغيير تصميمي من خلال إدخال بعض القيم.

هذا هو نوع الأطفال الذين أتوق إليهم دائمًا. أريد القدرة على تبديل عناصر تصميم موضوعي في المواسم والأعياد المختلفة. وأريد أن أكون قادرًا على مشاركة موضوعات الأطفال هذه مع الآخرين.
كما قلت ، لقد قمت ببناء مثل هذه الأساليب للأطفال من قبل (استخدمت PHP بدلاً من JSON). ومع ذلك ، يعد هذا أكثر قوة لأنه يعتمد على نظام الكتل القياسي وليس شيئًا مخصصًا لا يستخدمه سوى عدد قليل من الأشخاص.
قد يتساءل البعض منكم عن سبب عدم إجراء هذه التغييرات عبر محرر الموقع بدلاً من إنشاء سمة فرعية. طرح ريتش تابور ، بشكل أساسي ، نفس السؤال على Twitter في وقت سابق اليوم. "إذا كان القالب يتكون من JSON وقوالب الحظر التي يمكن تعديلها عبر الأنماط العامة ، فما هي السمات الفرعية؟"
لنفترض أنني قمت بتثبيت سمة كتلة وقمت ببعض عمليات ضبط اللون. الآن ، تخيل أنني أريد مزج هذا عندما يحل عيد الميلاد - قم بإلقاء بعض الألوان وابحث عن خط عطلة احتفالية. عندما أقوم بإجراء هذه التغييرات ، لن يكون تصميمي القديم موجودًا عند انتهاء الموسم لأنه يتم تخزين تخصيصات المستخدم بناءً على المظهر النشط. يمكنني بالطبع تدوين جميع الإعدادات القديمة وتغييرها جميعًا مرة أخرى لاحقًا. ومع ذلك ، فإن القيام بذلك عبر سمة فرعية يعني أنه يمكنني فقط تبديل السمات في أي وقت. ستظل إعداداتي القديمة كما هي.
ربما تكون هذه حالة متطرفة إلى حد كبير. من يقوم بإجراء تغييرات موسمية على تصميمهم هذه الأيام ، أليس كذلك؟
الجزء المثير هو أنه يمكنني مشاركة السمات الفرعية التي تم إنشاؤها باستخدام ملف JSON واحد مع الآخرين.
لطالما كان التلاعب بالأطفال شغفيًا منذ أن ظهرت هذه الميزة في WordPress. في بعض النواحي ، لم يتغير الكثير. لا يزال بإمكانهم الكتابة فوق القوالب من الأصل. يمكنهم الاستمرار في إضافة CSS مخصصة إذا كانوا يريدون ذلك. لكن الآن ، يمكنهم تكوين أي جزء من التصميم من ملف موحد واحد. هذا شيء يستحق إعادة غطاء المطور الخاص بي من أجل بناء موضوع آخر.
أرى أيضًا مستقبلًا بلا موضوع أطفال ولا يزال يتمتع بنفس فوائد مشاركة عناصر التصميم.
يوفر دليل نمط الكتلة بالفعل تخطيطات يجب أن تعمل مع أي سمة WordPress جيدة البناء. ومع ذلك ، هناك مكونات أخرى للتصميم يمكننا تفكيكها في المستقبل.
أتخيل مستقبلًا يمكن أن يحتوي فيه WordPress على لوحات ألوان قابلة للتثبيت مثل ما يقدمه Color Lovers. ما عليك سوى استعراض دليل وتثبيت وتغيير نظام الألوان الخاص بك دون العثور على سمة جديدة. شيء مشابه لمكوِّن Adrian الإضافي الأخير يمكن أن يخدم نفس الغرض للخطوط. هذه هي الأشياء التي قد يرغب المجتمع في أخذها في الاعتبار لاحقًا. لا ينبغي أن تكون الأفكار غير مطروحة على الطاولة في هذه المرحلة.
في الوقت الحالي ، يسعدني أن أمتلك القوة الكاملة لتربية الأطفال تحت تصرفي. يجب أن يصل التغيير إلى Gutenberg 11.8 هذا الأسبوع و WordPress 5.9 في وقت لاحق من هذا العام.
