اذهب إلى المحتوى

إنشاء أنواع منشورات مخصصة Custom Post Types في ووردبريس


kinan mawed

من المتفق عليه عالميًّا الآن أنّ ووردبريس WordPress أكثر من مجرّد منصّة تدوين، بل هو نظام إدارة محتوى Content Management System.

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

سنتكلّم في هذا الدرس عن الأنواع الثلاثة للمحتوى المُخصّص في ووردبريس وسنرى كيف نقوم بإنشاء ذلك المحتوى، سنقوم بتغطية:

  • أنواع المنشورات المُخصّصة Custom Post Types
  • أنواع التّصنيفات المُخصّصة Custom taxonomies
  • الحقول المُخصّصة Custom fields

سنتطرّق في هذا الدرس -وهو الدرس الأول من سلسلة مُكوَّنة من درسين- إلى مفهوم المحتوى المُخصّص في ووردبريس وسنشرح كيفية التّسجيل والاستفادة من أنواع المنشورات المُخصّصة، بالإضافة إلى استكشاف كيف يقوم ووردبريس بعرض المنشورات التي نقوم بإنشائها باستخدام ذلك النوع المُخصّص للمنشورات.

wordpress-custom-post-type.thumb.png.b73

فهم واستخدام كل نوع من أنواع المحتوى المُخصّص

من المفيد قبل البدء بإنشاء محتوى مُخصّص أن نعرف ما يفعله كلّ نوع منها وفي أيّة حالات قد نستخدمها، فلنبدأ بأنواع المنشورات المُخصّصة.

1. أنواع المنشورات المُخصّصة

يأتي ووردبريس مُجهّزًا بشكلٍ افتراضي بمجموعة من أنواع المنشورات وهي:

  • المنشورات Posts.
  • الصفحات Pages.
  • المرفقات Attachments.
  • عناصر قائمة التّصفّح Navigation menu items.
  • المراجعات Revisions.
  • الروابط Links (إن كنتَ تستخدم ميّزة المدوّنات blogroll).

تستطيع أيضًا إنشاء أنواع خاصة بك من المنشورات المُخصّصة لتخزين المحتوى الذي لا يندرج تحت أيّ من التصنيفات السابقة، قد تتضمن الأمثلة المنتجات في موقع للتجارة الإلكترونية e-commerce أو الأحداث events في موقع للعروض Listings site، إن كنت استخدمت سابقًا إضافة Plugin لإنشاء متجر، عرض لحدث event listing أو أي نوع آخر من المحتوى الفريد فقد أنشأتَ بالمصادفة نوعًا جديدًا من المنشورات المُخصّصة حتى بدون أن تعرف ذلك.

تستخدم العديد من الإضافات أنواع المنشورات المُخصّصة، نذكر على سبيل المثال:

  • MarketPress: تستخدم نوع منشورات مُخصّصة للمنتجات.
  • CoursePress Pro: تستخدم أنواع منشورات مُخصّصة للدروس، المدرّبين والطلّاب.
  • Support System: تستخدم أنواع منشورات مُخصّصة للتذاكر والأسئلة الشائعة FAQs.

يوجد العديد من الأمثلة الأخرى ولكن تعطينا الأمثلة السابقة فكرة عن استخدامات أنواع المنشورات المُخصّصة.

من الهام أن تتذكر أنّ أنواع المنشورات المُخصّصة هي ليست منشورات، فهي لا تملك أيّة علاقة مباشرة مع المنشورات ويجب أن تفكر بهما بشكل منفصل، يُمكنك إعداد (أو تسجيل) أنواع خاصة بك من المنشورات المُخصّصة لتسلك سلوك المنشورات أو الصفحات، الأمر عائدٌ إليك، فإن تمّ إعدادها كالمنشورات سيكون بإمكانك عرض صفحات الأرشيف الخاصة بها، أمّا إن تمّ إعدادها كالصفحات فستكون بشكلٍ شجري hierarchical، يتم إعداد معظم أنواع المنشورات المُخصّصة لتسلك سلوك المنشورات ولكن لا يعني هذا أنّ أنواعك يجب أن تكون كذلك.

2. أنواع التصنيفات المُخصّصة

وكما وجدنا مع أنواع المنشورات المُخصّصة فإنّ أنواع التّصنيفات المُخصّصة تضيف إلى أنواع التّصنيفات الموجودة مسبقًا في ووردبريس، والتي هي:

  • التصنيفات Categories.
  • الوسوم Tags.
  • هيئات المنشور Post Formats.
  • تصنيفات الرابط Link categories (والتي تنطبق على الروابط في المدوّنة blogroll إن كنت تستخدمها).

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

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

تتضمن الأمثلة ما يلي:

  • على موقع للتجارة الإلكترونية: تكون أنواع التّصنيفات للمنتج Product غالبًا متعددة كاللون والحجم والنسيج بالنسبة لمتجر ألبسة.
  • على موقع لعروض الأحداث: taxonomies لنوع الحدث ومكانه والمزيد من ذلك.
  • على قاعدة المعرفة knowledgebase: إنشاء taxonomies لترتيب البيانات بطريقة شاملة، على سبيل المثال إن كانت قاعدة معرفة لتطوير الوِب فربّما تستخدم taxonomies للغات البرمجة، درجة الصعوبة والمنصّات platforms.

نذكر مرّة آخرى أنّ الإضافات تستخدم أنواع التّصنيفات المُخصّصة، يوجد على سبيل المثال في إضافة MarketPress تصنيفات ووسوم للمنتج بشكلٍ مستقل عن تصنيفات ووسوم منشورات المدوّنة Blog posts، يوجد في CoursePress تصنيفات للدرس وفي نظام الدعم توجد أيضًا taxonomies لأنواع التذاكر وتصنيفات للأسئلة الأكثر شيوعًا FAQ.

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

فإن كنّنا نقوم بتطوير موقع للتدريب على سبيل المثال وأردنا استخدام تصنيفات لترتيب المنشورات حسب المهارة أو المعلومات التي يتم تدريسها فبإمكاننا استخدام التصنيفات الشجرية hierarchical categories كما يظهر في هذه الصورة، تستطيع أن ترى هنا أننا نملك ثلاثة تصنيفات في المستوى الأعلى وهي: تطوير الإدارة management development، تطوير شخصي personal development ومهارات تقنيّة technical skills، مع وجود كافة التصنيفات الأخرى تحتها في المستوى التالي.

categories-177x205.png

ولكن ماذا لو تعقّدت الأمور أكثر قليلًا؟ فلنفرض أنّك أردت إضافة سلسلة من المنشورات حول التواصل مع فريقك.

categories-and-taxonomy-177x315.png

ستكون الأمور أسهل لو استطعنا فصل حقيقة أنّ هذه المنشورات هي للمدراء managers وتتعلّق في نفس الوقت بمهارات التواصل communication skills، لذلك من الأفضل ربّما لو استطعنا إضافة تصنيف taxonomy للجمهور audience واستخدامه لتحديد المنشورات للمدراء managers بدلًا من أن نملك تطوير الإدارة management development كتصنيف، باستطاعتنا إنشاء تصنيف جديد للجماهير audiences، بهذه الطريقة نستطيع تحديد الموضوعات المتعدّدة ومجموعات الجمهور المتعّددة لكل منشور.

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

3. الحقول المُخصّصة

النوع الثالث من المحتوى المُخصّص هو الحقل المُخصّص، يتمّ الإشارة له أيضًا بأنّه البيانات الوصفية Metadata للمنشور.

يتكون الحقل المُخصّص من عنصرين يُمكنك رؤيتهما وتعديلهما في شاشة تعديل المنشور وهما المفتاح key والقيمة value، بإمكانك استخدام نفس المفتاح عدّة مرات للمنشورات المتعدّدة ولكن تملك كل منها قيمة فريدة يُعطي ووردبريس كل حقل مُخصّص تقوم بإنشائه مُعرّف ID فريد خاص به أيضًا، والذي يعني أنّ كلّ حقل مُخصّص لكل منشور هو فريد من نوعه حتى ولو كانت تملك نفس المفتاح والقيمة.

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

ملاحظة: تعطيك بعض الإضافات اختيارًا لكي تنتقي قيمة الحقل المُخصّص من صندوق قائمة منسدلة، ولكنها ستستخدم صندوق وصفي مُخصّص metabox يتم إنشاؤه من قبل الإضافة في شاشة تعديل المنشور بدلًا من واجهة الحقول المُخصّصة المعيارية التي يزودنا بها ووردبريس.

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

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

وهذا ما تفعله إضافة Jobs & Experts، فهي تستخدم تجميعة combination من الحقول المُخصّصة (يُشار إليها بـ “Job Meta”) و taxonomies (يُشار إليها بـ “Category and Skill”) لترتيب البيانات:

jobsexperts-metadata-700x220.png

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

سنتعلّم كيفية إنشاء حقولنا المُخصّصة في الدرس التالي من هذه السلسلة، سننتقل في هذا الدرس إلى إنشاء أنواع المنشورات المُخصّصة.

إنشاء نوع منشورات مُخصّصة

بعد أن قمت بتحديد أنّك تحتاج إلى نوع منشورات مُخصّصة توجد طريقتان لإنجاز هذا الأمر، برمجته بنفسك أو استخدام إضافة plugin، سأقوم قريبًا بشرح الكود الضروري لتسجيل نوع منشورات مُخصّصة في قالب Theme أو إضافة Plugin، ولكن دعنا نلقي نظرة على بعض الإضافات التي تستطيع استخدامها:

  • تزوّدك CustomPress بواجهة لإنشاء أنواع المنشورات المُخصّصة، التصنيفات والحقول المُخصّصة وهي سهلة الاستخدام كثيرًا، إن كنت تريد إنشاء العديد من أنواع المحتوى المُخصّص ستوفر عليك هذه الإضافة عناء تثبيت أكثر من إضافة.
  • إنّ إضافة Custom Post Type UI هي أشيع إضافة مجانيّة لإضافة أنواع المنشورات المُخصّصة على مستودع الإضافة plugin repository، فهي تسمح لك بإضافة أنواع المنشورات المُخصّصة وأنواع التّصنيفات ولكن لا تسمح بإنشاء الحقول المُخصّصة، واجهتها ليست سهلة الاستخدام تمامًا كما في CustomPress، مع المزيد من المصطلحات التقنيّة لكي تتمكّن من فهمها، ولكنّها تقوم بعملها.

تستطيع القراءة أكثر عن الإضافات التي تساعدك على إنشاء محتوى مُخصّص في مراجعتنا عن أفضل إضافات أنظمة إدارة المحتوى the best CMS plugins. ولكن إن كنتَ ترتاح ببرمجة الأنواع الخاصّة بك فها هي طريقة تسجيل نوع منشورات مُخصّصة.

1. برمجة نوع المنشورات الخاصة بك

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

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

تحتاج لمتابعة هذه التقنيّة إلى الوصول إلى ملفات ووردبريس الخاصة بك وإلى مُحرّر شيفرة Code editor، أوصي بتجربة هذه الطريقة على موقع للتطوير والاختبار وليس على موقعك الموجود على الإنترنت.

ابدأ بإنشاء ملف فارغ جديد يُدعى post-types.php وقُم بحفظه في مجلّد plugins الموجود في مجلّد wp-content.

أضف الآن الشيفرة التالية إلى ذلك الملف:

<?php
/*Plugin Name: Create Product Post Type
Description: This plugin registers the 'product' post type.
Version: 1.0
License: GPLv2
*/
?>

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

أضف الآن هذه الأسطر تحت السطر الذي يحتوي على */  وفوق سطر الإنهاء ?> :

function wpmudev_create_post_type() {

}
add_action( 'init', 'wpmudev_create_post_type' );

سيقوم هذا بإنشاء دالّة تحمل الشيفرة لتسجيل نوع المنشورات الخاصّة بك وسيقوم بإرفاقها إلى init hook باستخدام الدالّة ()add_action، تتأكد هذه الدالّة من أنّ ووردبريس يقوم بتشغيل دالّتك في الوقت المناسب.

تحتاج الآن لإضافة شيفرة النوع الخاص بك من المنشورات المُخصّصة داخل الأقواس curly braces:

// set up labels
$labels = array(
'name' => 'Products',
'singular_name' => 'Product',
'add_new' => 'Add New Product',
'add_new_item' => 'Add New Product',
'edit_item' => 'Edit Product',
'new_item' => 'New Product',
'all_items' => 'All Products',
'view_item' => 'View Product',
'search_items' => 'Search Products',
'not_found' => 'No Products Found',
'not_found_in_trash' => 'No Products found in Trash',
'parent_item_colon' => '',
'menu_name' => 'Products',
);

//register post type
register_post_type( 'product', array(
'labels' => $labels,
'has_archive' => true,
'public' => true,
'supports' => array( 'title', 'editor', 'excerpt', 'custom-fields', 'thumbnail','page-attributes' ),
'taxonomies' => array( 'post_tag', 'category' ),
'exclude_from_search' => false,
'capability_type' => 'post',
'rewrite' => array( 'slug' => 'products' ),
)
);

دعنا نلقي نظرة أقرب على ما تفعله هذه الشيفرة، يخبر المقطع الأول ووردبريس أيّة تسميات labels تريد استخدامها لنوعك من المنشورات، ستقوم هذه التّسميات باستبدال التّسميات الافتراضيّة والتي هي: Posts ،Add Post... إلخ، نقوم بعد ذلك باستدعاء دالّة ()register_post_type والتي تملك المُعامِلات parameters التالية:

  • title: لن تعمل الدالّة بدونه.
  • labels: التّسميات التي قمتَ بتحديدها مُسبقًا.
  • has_archive: عند تعيين قيمته إلى true فأنت تُخبر ووردبريس بأنّه من الممكن إظهار صفحات الأرشفة بالنسبة لنوع المنشور هذا.
  • public: قم بتعيين قيمته إلى true لكي تتأكد أنّه بإمكان الناس رؤية صفحة لكل منتج على موقعك.
  • supports: عناصر مدير نظام ووردبريس WordPress admin التي يدعمها نوع المنشورات المُخصّصة.
  • taxonomies: مصفوفة array من أنواع التّصنيفات التي تريد استخدامها مع نوع المنشورات، لقد قمت باستخدام التصنيفات والوسوم المُضمّنة، على الرغم من أنّك قد ترغب بتركها فارغة وتسجيل taxonomy مُخصّصة للنوع الخاص بك من المنشورات لاحقًا.
  • exclude_from_search: قم بتعيين قيمته إلى false لكي تتأكد أنّه يتم تضمين منتجاتك في نتائج البحث.
  • capability_type: يتم تعيين قيمة هذا الُمعامل كـ post لأنّ منتجاتنا ستسلك سلوك المنشورات وليس الصفحات.
  • rewrite:  يُخبر هذا المُعامل ووردبريس ما هو الـ slug بالنسبة لأرشيف نوع المنشورات، والذي هو النص المُستخدم بعد اسم نطاقك domain كرابط له، بتعيين هذا إلى القيمة products سيكون رابط صفحة منتجك: http://mysite.com/products

قُم الآن بحفظ ملفك، ستبدو شيفرة الإضافة كاملةً كما يلي:

<?php
/*Plugin Name: Create Product Post Type
Description: This plugin registers the 'product' post type.
Version: 1.0
License: GPLv2
*/

// register custom post type to work with
function wpmudev_create_post_type() {
// set up labels
$labels = array(
'name' => 'Products',
'singular_name' => 'Product',
'add_new' => 'Add New Product',
'add_new_item' => 'Add New Product',
'edit_item' => 'Edit Product',
'new_item' => 'New Product',
'all_items' => 'All Products',
'view_item' => 'View Product',
'search_items' => 'Search Products',
'not_found' => 'No Products Found',
'not_found_in_trash' => 'No Products found in Trash',
'parent_item_colon' => '',
'menu_name' => 'Products',
);

//register post type
register_post_type( 'product', array(
'labels' => $labels,
'has_archive' => true,
'public' => true,
'supports' => array( 'title', 'editor', 'excerpt', 'custom-fields', 'thumbnail','page-attributes' ),
'taxonomies' => array( 'post_tag', 'category' ),
'exclude_from_search' => false,
'capability_type' => 'post',
'rewrite' => array( 'slug' => 'products' ),
)
);
}
add_action( 'init', 'wpmudev_create_post_type' );
?>

ستحتاج إلى تفعيل إضافتك الجديدة لكي يعمل النوع الخاص بك من المنشورات، اذهب إلى صفحة الإضافات Plugins في لوحة تحكم موقعك وقم بإيجاد إضافتك الجديدة:

activate-cpt-plugin-700x77.png

اضغط على رابط التفعيل Activate لكي يتم تفعيلها، سترى الآن نوعًا إضافيًا للمنشورات في قائمة لوحة التحكم:

admin-menu-with-new-post-type.png

تستطيع الضغط على رابط المنتجات Products والبدء بإضافة منتجات إلى موقعك بنفس الطريقة التي تفعلها مع المنشورات.

عرض نوع المنشورات الخاصة بك على واجهة الموقع الأمامية Front End:

بمجرّد أن تقوم بإضافة بعض المنتجات ستحتاج أن تكون قادرًا على عرضها على واجهة موقعك.

تحتاج في البداية لتحديث الروابط الدائمة Permalinks على موقعك بحيث يستخدم ووردبريس الروابط الصحيحة لعرض المنتجات أو أرشيف المنتجات:

  1. في لوحة تحكم ووردبريس اذهب إلى إعدادات: Settings -> Permalinks
  2. تأكد من أنّه تم اختيار خيار اسم المنشور “post name”.
  3. 3.اضغط على زر حفظ التغييرات Save Changes.

ملاحظة: تحتاج إلى فعل هذا حتى ولو كنت قد قمت بإعداد الروابط الدائمة مُسبقًا لأنّ ووردبريس يحتاج إلى تحديث هذه الإعدادات لأجل مجموعة الروابط الجديدة لمنتجاتك.

2. إضافة نوع المنشورات الخاصة بك إلى قائمة التصفّح

إن كنت ترغب بإضافة منتجات إلى قائمة التصفّح لديك تستطيع الذهاب إلى: Appearance -> Menus

وسترى أنّه يتم عرض المنتجات على اليسار، قم ببساطة بسحب أي منتج إلى قائمتك لكي تُضّمنه إليها.

إنّ إضافة أرشيف منتج أصعب قليلًا ولعمل هذا تحتاج إلى إضافة رابط مُخصّص Custom Link إلى القائمة:

  1. بينما لا تزال في شاشة القوائم اضغط على صندوق القوائم Links box على اليسار.
  2. في حقل الـ URL اكتب http://mysite.com/products مستبدلًا mysite.com باسم نطاقك الخاص.
  3. في حقل نص الرابط Link text اكتب Products.
  4. اضغط على زر إضافة إلى القائمة Add to Menu.
  5. بعد أن تمّت إضافة الرابط إلى القائمة قم بنقله إلى المكان المناسب وقم بحفظ القائمة.
  6. احفظ تغييراتك بالضغط على Save Menu. Don’t miss this step!

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

prodyct-archive-page-700x419.png

3. قالب Template لنوع المنشورات الخاصة بك

يستخدم ووردبريس شيئًا يُدعى شجرة القالب template hierarchy لتحديد أي ملف قالب Template في قالبك Theme يجب أن يستخدمه لعرض نوع محتوى معطى، إنّ وصف كيفية عمل شجرة القالب بالتفصيل هو خارج مجال درسنا هذا، ولكن يساعدك أن تعرف كيف يقوم ووردبريس بعرض النوع الجديد الخاص بك من المنشورات.

عندما يقوم ووردبريس بعرض منتج واحد سيبحث في قالبك عن كل واحد من هذه الملفات بالترتيب:

  1. ملف لعرض منتج وحيد يُدعى single-product.php.
  2. ملف لنشر كل المنشورات المفردة من أي نوع منشور كانت ، يُدعى single.php.
  3. الملف العام لنشر كل أنواع المحتوى يُدعى index.php.

عندما يعرض ووردبريس أرشيف لمنتج سيعمل من خلال ملفات القالب Template هذه:

  1. ملف لعرض أرشيف المنتج يُدعى archive-product.php.
  2. قالب أرشيف عام يُدعى archive.php.
  3. القالب الافتراضي default template وهو index.php.

سيعمل ووردبريس عبر هذه الشجرة hierarchy ويستخدم ملف القالب الذي يصادفه أولًا، لذا إن كنت تريد إنشاء قالب مُخصّص custom template لمنتجاتك فمن الجيّد أن تبدأ بنسخ ملف single.php وتحفظه باسم single-product.php ومن ثمّ تقوم بتعديله.

على أيّة حال إن لم تكن ترغب بإنشاء ملفات قالب template files سيقوم ووردبريس بكل سرور باستخدام الملفات الموجودة مُسبقًا ضمن قالبك، وهو ما تمّ عمله بالنسبة لي مع ملفات archive.php و single.php على قالب twenty fifteen theme.

ملخّص

تجعل القدرة على إنشاء محتوى مُخصّص ووردبريس قويًا جدًا: نستطيع استخدامه لإضافة وعرض العديد من أنواع المحتوى المرنة بالطريقة التي نحتاجها.

تعلّمنا في هذا الدرس عن الأنواع الثلاثة للمحتوى المُخصّص، ما هي ومتى نستخدم كلّ واحد منها، تعلّمنا أيضًا كيف نُنشئ أنواع منشورات مُخصّصة ونعرضها على موقعنا.

سنتعلّم في الدرس القادم كيف نقوم بإنشاء taxonomies مُخصّصة وحقول مُخصّصة.

هل تستخدم أنواع منشورات مُخصًصة في مواقعك؟ هل تفضّل استخدام إضافة أو كتابة الشيفرة الخاصّة بك؟ في أيّة أشياء تستفيد منها؟ دعنا نعلم أفكارك في التعليقات.

ترجمة -وبتصرّف- للمقال Creating Custom Content in WordPress: Custom Post Types لصاحبه Rachel McCollin.

R1.png

R2.png

R3.png

finala.png

sse-examples.zip

project-img (1).png

sse.png

web-sockets.png

1 final.jpg

2 wihout img.png

3 final befor wok.png


تفاعل الأعضاء

أفضل التعليقات

مقال رائع وغاية في الاهمية 

شكرا ًجزيلاً علي الترجمة المهمة 

وارجوا استنثناء اسماء المعرفات وجعلها بالانجليزية 

مثل منشور => post

فقد تشتت كثيراً اثناء القراءة بسبب هذا الموضوع :D

علي كل حال مجهود ممتاز شكراً جزيلاً علي الترجمة

رابط هذا التعليق
شارك على الشبكات الإجتماعية

قمت بإنشاء عدد من الصفحات المخصصة بحيث تكون كل صفحة لها شكل مختلف من حيث طريقة عرض المقالات حتى الآن الصفحات تعمل بدون مشاكل

 

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

عندما اضغط على تصنيف معين التابع لصفحة مخصصة تظهر صفحة الخطأ 404

 

ما هو الكود أو الدالة المناسبة لاظهار التصنيفات في الصفحة المخصصة عند الضغط عليها وأيضا صفحة الوسوم

رابط هذا التعليق
شارك على الشبكات الإجتماعية



انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أضف تعليق

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • أضف...