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

نريد الحصول على نفس البنية لصفحات المتعاقدين، ولكن مع متعاقدين يتحدثون بكل لغة من اللغات. على سبيل المثال، إليك الصفحة اليابانية:

إنها مبنية بنفس الطريقة، ولكن بمحتوى مختلف.
إحدى طرق بناء هذه الصفحات هي باستخدام صفحات WordPress العادية. هذا ما كان لدينا حتى يوم أمس فقط. عندما بدأت قائمة المتعاقدين، كانت تضم شخصين فقط، لذا كانت إدارتها كصفحة عادية أمراً سهلاً.
اليوم، تتضمن تلك الصفحة 8 متعاقدين وهي متاحة في 5 لغات، لذا أصبحت صيانتها كصفحات بمثابة صداع حقيقي. ولأننا نريد أن تتضمن كل صفحة مترجمة للمتعاقدين متعاقدين معينين فقط (الذين يتحدثون تلك اللغة)، لا يمكننا ببساطة إرسال الصفحة الإنجليزية للترجمة. لو استخدمنا صفحات WordPress العادية، لاضطررنا إلى أن نشرح لمترجمينا من هم المتعاقدون الذين يجب تضمينهم في كل لغة. وهذا يتطلب الكثير من التواصل والعمل اليدوي.
استخدام أنواع المنشورات المخصصة والحقول لبناء القائمة
لذا، انتقلنا من الصفحات العادية إلى أنواع المنشورات المخصصة والحقول. لإعداد الأنواع المخصصة الجديدة، استخدمنا إضافة Types الخاصة بنا.
أولاً، أنشأنا نوع منشور جديد باسم «contractors». ثم أضفنا حقول الصورة، وعنوان URL لموقع الويب، ومعرض الأعمال، وجهات الاتصال. إليك كيف تبدو صفحة المتعاقد في لوحة تحكم WordPress الخاصة بنا:

أليس هذا رائعاً؟
لدينا حقل منفصل لكل معلومة. عندما نضيف متعاقدين جدداً، لا نقلق بشأن كيفية عرضها على الموقع. كل ما علينا فعله هو إدخال الحقول. وسيقوم القالب بعرضها بشكل صحيح، جنباً إلى جنب مع المتعاقدين الآخرين.
انظر إلى الجانب الأيمن من الصفحة، حيث توجد عناصر التحكم في الترجمة. ستلاحظ على الفور أن صفحة Mana متاحة أيضاً باللغة اليابانية. هذه هي الفائدة الكبيرة التي كنا نبحث عنها. عندما يتم تقسيم المحتوى إلى عناصر صغيرة، يمكننا بسهولة ترجمة الإدخالات المختلفة إلى لغات مختلفة.
عرض قوائم المتعاقدين لكل لغة
الآن وقد أصبح لدينا إدخالات للمتعاقدين لكل لغة، نحتاج إلى عرضها.
إذا كنت تفضل برمجتها باستخدام PHP، فأنت مرحب بك لاستخدام Types PHP API. عندما بدأت في تغيير صفحة المتعاقدين، كانت الساعة قد بلغت 10 مساءً وكنت أرغب في إنهاء كل شيء قبل تغير التاريخ (وتنزعج زوجتي من بقائي على الكمبيوتر). استخدمت إضافة Views الخاصة بنا لبناء قائمة المتعاقدين، وأنهيت العمل حوالي الساعة 11 مساءً وكان لا يزال لدي ساعة إضافية قبل بدء حظر التجول الخاص بي :-)
تستخدم صفحة المتعاقد الجديدة قالباً لعرض كل إدخال. يبدو القالب هكذا:

لقد قمت ببنائه باستخدام View Template من داخل لوحة تحكم WordPress. يتيح لي View Template إدراج الحقول من واجهة المستخدم الرسومية وتنسيقها باستخدام HTML و CSS. إن الأمر يشبه كتابة صفحة قياسية، ولكن باستخدام الأكواد المختصرة للحقول بدلاً من النص الثابت.
بعد ذلك، أنشأت View لتحميل قائمة المتعاقدين وعرضها. عندما تنشئ View، فإنك تخبره بنوع المحتوى الذي يجب تحميله، وكيفية التصفية (في حالتنا، لا حاجة للتصفية) وكيفية العرض. لقد أنشأنا بالفعل قالباً لمتعاقد واحد، لذا يحتاج View فقط إلى استخدام ذلك القالب في صفحة القائمة.
إليك صفحة المتعاقدين، التي تُظهر المحتوى الثابت أعلى وأسفل القائمة والكود المختصر لـ View الذي يعرض قائمة المتعاقدين نفسها.
عرض المحتوى الصحيح لكل لغة
عندما تستخدم Views لعرض المحتوى في المواقع متعددة اللغات، يحدث تحديد اللغة تلقائياً. هذا يعني أنه عند إدراج View الخاص بالقائمة في صفحة باللغة الإنجليزية، ستحصل على إدخالات المتعاقدين باللغة الإنجليزية. وعند إدراجها في صفحة يابانية، ستحصل فقط على الإدخالات المترجمة إلى اليابانية.
الآن، لكي يظهر متعاقدون معينون في لغات أخرى، نحتاج فقط إلى ترجمة إدخالاتهم. سيقوم View بتحميل الإدخالات الصحيحة من قاعدة البيانات وعرضها على الصفحة.
ملخص
بدأت هذه المقالة حول كيفية جعل إدارة المحتوى أسهل باستخدام أنواع المنشورات المخصصة، ثم أصبحت نوعاً ما درساً تعليمياً مصغراً لإضافة Views الخاصة بنا.
الشيء المهم الذي يجب استخلاصه هنا هو أنه بالنسبة لأي صفحة قائمة، فإن أنواع المنشورات المخصصة هي الطريق الصحيح.
إذا كنت تحب البرمجة، يمكنك استخدام واجهة برمجة تطبيقات قوالب WordPress لإنشاء قوالب مخصصة لمحتواك. نحن نحب البرمجة أيضاً، لكنني أفتقر إلى الوقت بعض الشيء، لذا أستخدم إضافة Views الخاصة بنا. تكلف إضافة Views وحدها 95 $ أو يمكنك شراؤها كجزء من حزمة Toolset الخاصة بنا مقابل 149 $.
ما رأيك؟ كيف تقوم ببناء صفحات القوائم؟



