الدليل النهائي لأنواع المنشورات المخصصة في WordPress

نشرت: 2024-03-26

منذ أكثر من عقد من الزمن، اتخذت قرارًا غيّر حياتي ومسيرتي المهنية بالتركيز فقط على استخدام WordPress كمنصة للنشر ونظام إدارة المحتوى (CMS) الذي أقوم ببناء المكونات الإضافية له. كانت الأسباب الرئيسية هي التوثيق الممتاز، بما في ذلك عدد لا يحصى من المنشورات التي تحتوي على مقتطفات وبرامج تعليمية، وسهولة توسيع WordPress. بالنسبة لحالات الاستخدام الخاصة بي في ذلك الوقت، كانت الميزة الأبرز لتوسيع WordPress هي أنواع المنشورات المخصصة.

تم تحسين أنواع المنشورات المخصصة (CPTs) بشكل أساسي باستخدام الإصدار 3 من WordPress في عام 2010، ويتم استخدامها بعدة طرق. أنا متأكد من أنك التقيت بهم دون أن تعرف. اسمحوا لي أن أقدم لكم نظرة عامة على CPTs، وأمثلة محددة لكيفية استخدامها مع مرور الوقت، وكيفية إعدادها بنفسك، وكيفية إنجاز المزيد باستخدام المكونات الإضافية ذات الصلة.

ما هي أنواع المنشورات المخصصة؟

يأتي WordPress الأساسي مع أنواع منشورات مختلفة. الأكثر وضوحًا هي المنشورات والصفحات والمرفقات.

في WordPress 6.4، هناك أربعة أخرى:

  • التنقيحات
  • قوائم التنقل
  • قوالب الحظر
  • أجزاء القالب

حقيقة ممتعة: التعليقات ليست نوع منشور. أعتقد أنه لو لم يكن WordPress في الأصل منصة للتدوين تحتوي على تعليقات باعتبارها جزءًا مركزيًا، لكان من الممكن التعامل معها في الوقت الحاضر كنوع منشور أيضًا.

كما قد يوحي ذلك، فإن أنواع المنشورات ليست دائمًا واضحة وليست بالضرورة شيئًا مرئيًا في الواجهة الأمامية يمكن أن نصفه بـ "المحتوى". هم أكثر من مجموعة من العناصر ذات الصلة في قاعدة البيانات.

يمكنك إضافة المزيد من هذه "الأشياء"، والتي ستُسمى بعد ذلك أنواع المنشورات "المخصصة".

إنه ليس مصطلحًا رسميًا في WordPress، لكني أحب عبارة "أنواع "المحتوى" المخصصة لأي نوع منشور مخصص مرئي. سأدخل في بعض الأمثلة لاحقًا.

لماذا استخدام نوع منشور مخصص؟

استخدم WP Mayor العديد من أنواع المنشورات المخصصة بمرور الوقت، مثل العروض مدى الحياة التي يمكنك رؤيتها الآن.

لقد استخدمت شخصيًا أنواع المنشورات المخصصة للعديد من الأشياء.

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

لنتخيل أن WP Mayor سيكون لديه أيضًا نوع منشور مخصص "للأخبار". فقط عن طريق تسجيل نوع المنشور المخصص هذا، سيكون لديك الفوائد التالية:

  • عنصر "أخبار" مميز في القائمة في WP Admin.
  • فرصة منح المستخدمين وأدوار المستخدم قدرات مختلفة لهذا النوع.
  • احصل على قوالب مختلفة لعرض عناصر الأخبار الفردية على الواجهة الأمامية.
  • أرشيف منفصل وموجز للأخبار.
  • يتم تخزين البيانات التعريفية الإضافية للنشر فقط مع الأخبار وعرضها.

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

وفي حالة أخرى، أردت تسجيل محتوى جميع رسائل البريد الإلكتروني الصادرة. لذلك، قمت بإنشاء نوع منشور "سجل" يحتوي على محتوى البريد الإلكتروني وجميع البيانات الوصفية المرفقة التي كانت مرئية فقط مع الإمكانات المناسبة في الواجهة الخلفية لـ WordPress.

وأخيرًا، استخدم المكون الإضافي Advanced Ads الذي قمت بتطويره في الأصل CPT لتخزين محتوى الإعلان.

هذه مجرد أمثلة قليلة لأنواع المنشورات المخصصة. أعلم أنني نسيت أن أذكر العديد من حالات الاستخدام المثيرة الأخرى التي التقيت بها على مر السنين.

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

إنشاء نوع منشور مخصص

يمكن إنشاء أنواع المنشورات المخصصة يدويًا أو من خلال مكون إضافي.

إذا لم تكن لديك خبرة في البرمجة، فإن المكونات الإضافية تسهل عليك إنشاء أنواع منشورات مخصصة.

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

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

قرارات بشأن أنواع المنشورات المخصصة

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

عام أم لا؟

القرار الرئيسي بشأن أنواع المنشورات المخصصة هو من يجب أن يراها ويتفاعل معها. باستخدام الكود المخصص الخاص بك أو ضمن مكون إضافي، يمكنك اختيار ما إذا كان CPT مرئيًا في الواجهة الأمامية، بما في ذلك الأرشيفات والصفحات الفردية التي يمكن الوصول إليها مباشرة، وما إذا كان المستخدمون سيجدونها عبر البحث. هل يجب أن يظهر في الواجهة الخلفية لموقع WordPress الخاص بك مع عنصر القائمة الخاص به؟

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

التسلسل الهرمي

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

يُطلق على الأخير اسم "التسلسل الهرمي"، والذي يتم تعريفه أيضًا عند إنشاء نوع المنشور الخاص بك.

بالنسبة لأنواع المنشورات الهرمية، توفر صفحة التعديل خيار اختيار الصفحة الرئيسية والطلب.

قسم سمات الصفحة في محرر WordPress يعرض خيارات التسلسل الهرمي للصفحة.
خيارات التسلسل الهرمي عند تحرير الصفحة.

يمكن أن يكون الترتيب والصفحة الرئيسية مهمًا عند إنشاء قوائم أو قوائم من الصفحات تلقائيًا. يظهر التسلسل الهرمي أيضًا في رابط URL الثابت. إذا كانت صفحتي هي "استكشاف الأخطاء وإصلاحها" مع "الوثائق" كصفحة رئيسية، فقد يكون عنوان URL النهائي هو documentation/troubleshooting .

نصيحة: إذا كان لديك CPT بتسلسل هرمي أعمق، فإنني أوصي باستخدام البرنامج الإضافي Nested Pages لترتيب المنشورات بسرعة وبالترتيب الصحيح.

محرر الكتلة أو الكلاسيكي

عند إنشاء نوع منشور مخصص، يتم سؤالك عما إذا كنت تريد إظهاره في "REST API" أم لا. يقوم هذا المصطلح الفني بشيء مهم: فهو يحدد ما إذا كان CPT الخاص بك يستخدم محرر الكتلة أو عرض المحرر الكلاسيكي.

كقاعدة عامة، يعد استخدام محرر الكتل أمرًا منطقيًا إذا كان نوع المنشور الخاص بك مشابهًا للمحتوى العادي وتريد استخدام كتل WordPress. يجب على أي نوع منشور مخصص لا يحتاج إلى جزء كبير من الشاشة للمحتوى أن يختار المحرر الكلاسيكي. ومن ثم، لا ينبغي تسليمه عبر REST API.

الارتباطات الثابتة لعنوان URL وبنيته

القرار الحاسم الآخر الذي يتعين عليك اتخاذه هو تسمية سبيكة CPT. قد تتم الإشارة إلى نوع منشور "الأخبار" الخاص بنا news في عنوان URL، ولكن إذا كان لديك أسماء داخلية أكثر روعة، فقد ترغب في اختيار نموذج قصير لعناوين URL للواجهة الأمامية.

قد يكون هذا قرارًا مهمًا لتحسين محركات البحث لديك، لذا خذ بضع دقائق للتفكير في هذا الأمر.

العناصر المدعومة

اعتمادًا على نوع المنشور الذي تقوم بإنشائه، قد ترغب أيضًا في اتخاذ قرار مقدمًا بشأن تمكين الدعم للعناصر التالية:

  • العناوين (ممكّنة افتراضيًا)
  • ظهور المحرر (ممكّن افتراضيًا)
  • تعليقات
  • التنقيحات
  • المؤلفون
  • مقتطفات
  • الصور المصغرة

هناك العديد من الخيارات للضبط. ومع ذلك، فإن ما ورد أعلاه هو الأكثر أهمية الذي يجب مراعاته قبل استخدام نوع المنشور المخصص في WordPress.

قم بإنشاء نوع منشور مخصص باستخدام مكون إضافي

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

سأستخدم واحدة من أكثر البرامج المجانية شيوعًا من wordpress.org: Custom Post Type UI (CPTUI) بواسطة WebDevStudios.

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

الشاشة الأولى التي تحتوي على خيارات عند إنشاء نوع منشور مخصص في WordPress جديد باستخدام البرنامج الإضافي Custom Post Type UI.
إنشاء CPT جديد باستخدام البرنامج المساعد Custom Post Type UI.

نصيحة: أنا شخصيًا متحفظ بشأن الخيارات "العامة" الخاصة بـ CPTs الخاصة بي وأقوم بتحديدها قدر الإمكان فيما يتعلق بمن يجب أن يراها في الواجهة الأمامية ومن يجب أن يكون قادرًا على تغييرها في الواجهة الخلفية. إذا لزم الأمر، يمكنك دائمًا منح المزيد من الوصول لاحقًا.

مزايا واجهة المستخدم المخصصة لنوع المنشور

هناك بعض الأشياء التي تعجبني في هذا البرنامج الإضافي والتي قد يمتلكها أو لا يمتلكها الآخرون.

عادةً ما أقوم بإنشاء CPTs يدويًا، لذلك أعلم أن كتابة الملصقات تستغرق الكثير من الوقت. يوجد حوالي ثلاثين منها إذا كنت تريد تعديلها جميعًا لذكر اسم CPT الخاص بك. كما ترون في لقطة الشاشة أعلاه، يحتوي المكون الإضافي Custom Post Type UI على خيار لملء هذه التصنيفات تلقائيًا نيابةً عنك. لا يزال بإمكانك تعديلها لاحقًا في الواجهة.

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

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

نظرة عامة على أنواع المنشورات المخصصة في WordPress التي تم إنشاؤها بواسطة البرنامج الإضافي Custom Post Type UI.
نوع المنشور المخصص مدرج.

تعد هذه القوالب جزءًا من سحر أنواع المنشورات المخصصة في WordPress. إذا استخدمت News CPT news الثابتة، فسيبحث WordPress تلقائيًا عن ملف يسمى archive-news.php في قالبك لعرض صفحة الأرشيف من نوع المنشور هذا أو single-news.php لصفحة أخبار واحدة. راجع التسلسل الهرمي للقالب لمزيد من المعلومات.

توليد التعليمات البرمجية باستخدام CPTUI

الميزة التي جعلتني أوصي أخيرًا بـ Custom Post Type UI هي أداة تصدير CPT إلى كود PHP . ضمن CPT UI > Tools > Get Code، ستجد كود PHP لاستخدامه في مكونك الإضافي أو functions.php . مجد لمطوري البرنامج المساعد لعدم قفل الناس.

وهذا يجعل CPTUI أداة مثالية للمطورين حيث يمكننا إعداد نوع منشور مخصص بسرعة من خلال الواجهة ثم الحصول على كود PHP لاستخدامه. يمكننا أيضًا أن نسمح لعملائنا بإعداده على موقع اختبار — مع جميع التصنيفات وما إلى ذلك — ثم ترحيله إلى المكان الذي نحتاج إليه.

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

باستخدام الكود

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

الوظيفة الأساسية لتسجيل نوع منشور مخصص جديد هي وظيفة Register_post_type. تتيح لك معلماته ضبط جميع الخيارات التي ذكرتها أعلاه.

يتم تخزين جميع أنواع المنشورات في جدول wp_posts في قاعدة البيانات الخاصة بك. يحدد الحقل post_type الإدخال الذي ينتمي إليه نوع المنشور.

يمكنك استخدام بيانات تعريف النشر إذا كان نوع المنشور المخصص الخاص بك يتعلق بأكثر من مجرد محتوى. يتم تخزين هذه البيانات في wp_postmeta .

بالمناسبة، تستخدم بعض المكونات الإضافية جداول مخصصة لإدارة أنواع المحتوى. لا تسلك هذا الطريق إلا إذا كنت مضطرًا لذلك بالفعل، حيث لن تتمكن من استخدام جميع ميزات ووظائف WordPress المضمنة التي تأتي مع Custom Post Types API.

توسيع أنواع المنشورات المخصصة

إذا كان نوع المنشور المخصص الخاص بك عامًا، فقد ترغب في تخصيصه بشكل أكبر. وهنا عدد قليل من الخيارات.

الحقول المخصصة وصناديق التعريف

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

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

التصنيفات المخصصة

نظرًا لأنه يمكن طلب نوع المنشور الافتراضي "المشاركات" باستخدام "الفئات" و"العلامات"، يمكنك تسجيل التصنيفات لنوع المنشور المخصص الخاص بك أيضًا.

يساعدك المكون الإضافي Custom Post Type UI الذي أوصيت به أعلاه في إنشائها أيضًا.

إدارة القدرات

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

تبديل أنواع المشاركات

أقوم حاليًا بإعادة تنظيم المحتوى في قاعدة معارف داخلية تم إنشاؤها باستخدام WordPress. المشاركات والصفحات لها أهداف مختلفة جدًا هنا. بعضهم غيّر الأهداف، لذلك كنت بحاجة إلى حل لتبديل نوع المنشور.

على الرغم من أنني لا أوصي بالقيام بذلك باستخفاف مع نوع منشور عام، فلا توجد مشكلة في القيام بذلك على موقع غير عام به أنواع منشورات مماثلة. ولتحقيق ذلك، قمت بتثبيت Post Type Switcher، وهو مكون إضافي ممتاز يجعلك تفعل ذلك دون أي ضجة. بعد تثبيته، سيضيف البرنامج الإضافي قسم "نوع المنشور" على شاشة "تحرير المنشور". يمكنك استخدام هذه الواجهة لتغيير أنواع المنشورات حسب الحاجة.

خاتمة

ما زلت أعتبر أنواع المنشورات المخصصة ميزة مهمة سمحت لـ WordPress بالازدهار في العقد الماضي وما بعده. إنه الأساس الذي حول نظام إدارة المحتوى (CMS) المفضل لدينا من منصة تدوين بسيطة إلى أداة متعددة الاستخدامات لإدارة الأحداث أو التسوق عبر الإنترنت.

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