Custom Post

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

هنا، سأوضح الفرق بين الاثنين وألقي نظرة على أنواع المنشورات بالتفصيل.

في الجزء السابق من هذه السلسلة، قمت بفحص أنواع المحتوى المختلفة في WordPress، والتي يتم تخزينها في عدد من جداول قاعدة البيانات المختلفة. هؤلاء هم:

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

تحديد المشاركات
أولاً، سأبدأ بتعريف المشاركات وكيفية اختلافها عن المشاركات (نعم، إنه أمر مربك وإضافة حرف كبير لا يجعل الأمور أكثر وضوحًا!):

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

منطقي؟ إذا لم يكن الأمر كذلك، واصل القراءة، وسيصبح كل شيء واضحًا!

أنواع المشاركات في ووردبريس
يأتي WordPress مزودًا بخمسة أنواع منشورات مدمجة:

بريد
صفحة
مرفق
مراجعة
عنصر قائمة التنقل
بالإضافة إلى ذلك، يمكنك إضافة أنواع المنشورات المخصصة الخاصة بك باستخدام وظيفة Register_post_type()، مما يعني أن تثبيت WordPress الخاص بك يمكن أن يحتوي على أي عدد تريده من أنواع المنشورات. كل نوع منشور له نفس حالة أنواع المنشورات المضمنة – أحيانًا سمعت عن أشخاص يعتقدون أن “نوع المنشور المخصص” هو نوع منشور بحد ذاته. ليس كذلك!

سأوضح ذلك بمثال. عند كتابة استعلام مخصص للمقالات، يمكنك إضافة ما يلي إلى وسيطات الاستعلام الخاص بك:

'post_type' => ‘منشور’
ولكن إذا قمت بإنشاء نوع منشور مخصص يسمى my_post_type، فيمكنك الاستعلام عنه بما يلي:

‘post_type’ => ‘my_post_type’
يمكنك استخدام وسيطة post_type هذه للاستعلام عن أي نوع منشور، ويمكنك بالفعل الاستعلام عن أنواع منشورات متعددة إذا كنت ترغب في ذلك. لن أخوض في التفاصيل حول ذلك لأنه خارج نطاق هذا البرنامج التعليمي، ولكن يمكنك قراءة المزيد على صفحة WordPress Codex الخاصة بـ WP_Query.

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

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

العلاقات بين المشاركات
كما ترون من الجدول أعلاه، يعد حقل post_parent حقلًا مهمًا، لأنه يخزن معلومات حول العلاقات بين المنشورات المختلفة. وتشمل هذه:

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

'post_parent' => ‘المعرف’
يمكنك استخدام استعلام مماثل لعرض المرفقات التي تم تحميلها إلى منشور معين، أو بدلاً من ذلك يمكنك الاستعلام عن المرفقات التي لا تحتوي على أصل (أي تلك التي تم تحميلها مباشرة إلى شاشة الوسائط في لوحة المعلومات).

للقيام بذلك، يمكنك استخدام الوسيطة التالية:

'post_parent' => '0'

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

يمكنك أيضًا استخدام post_parent_in مع مجموعة من المعرفات لتحديد العناصر الفرعية لمجموعة من المنشورات أو الصفحات.

لا تعليق

اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *