إنشاء أنواع التصنيفات (Taxonomies) والحقول المخصصة (Fields) في ووردبريس
يُعتبر ووردبريس من أشهر أنظمة إدارة المحتوى المستخدمة على نطاق واسع في بناء المواقع والمدونات، ويرجع ذلك إلى مرونته العالية وقابليته للتخصيص بشكل متقدم. من أهم ميزات ووردبريس التي تمكن المطورين والمستخدمين المتقدمين من تنظيم المحتوى بكفاءة هي إنشاء أنواع التصنيفات (Taxonomies) والحقول المخصصة (Custom Fields). هذه الأدوات تسمح ببناء هياكل محتوى معقدة ومرنة تناسب احتياجات المشاريع المتنوعة، سواء كانت مواقع إخبارية، متاجر إلكترونية، مواقع تعليمية، أو أي نوع آخر من المواقع.
مفهوم أنواع التصنيفات (Taxonomies) في ووردبريس
أنواع التصنيفات هي عبارة عن طرق لتنظيم وتصنيف المحتوى داخل ووردبريس. بشكل افتراضي، يوفر ووردبريس نوعي تصنيفات رئيسيين هما:
-
التصنيفات (Categories): تستخدم لتجميع المقالات حسب موضوعات عامة.
-
الوسوم (Tags): تُستخدم لوصف تفاصيل محددة للمقال.
لكن هناك حاجة مستمرة لتوسيع هذه التصنيفات لإنشاء أنواع تصنيفات مخصصة تناسب المشاريع الخاصة، مثل تصنيفات للمنتجات، أنواع للأحداث، تصنيفات للكتب، أو أي نوع آخر من التصنيفات التي تنظم المحتوى بطريقة أكثر تخصصاً.
الفرق بين أنواع التصنيفات العادية والتصنيفات المخصصة
-
التصنيفات الافتراضية (Categories, Tags) تأتي مدمجة مع ووردبريس.
-
التصنيفات المخصصة يتم إنشاؤها بواسطة المطور أو المستخدم لتلبية حاجات محددة.
مثال: موقع لمكتبة كتب قد يحتاج إلى تصنيفات مخصصة مثل “النوع الأدبي”، “الكاتب”، “السنة”.
أهمية إنشاء أنواع التصنيفات المخصصة
-
تنظيم المحتوى بفعالية: تُمكّن المستخدم من تصنيف المحتوى بطريقة دقيقة ومرنة.
-
تحسين تجربة المستخدم: تسهل على الزوار البحث والتنقل بين المحتوى المرتبط.
-
تخصيص عرض المحتوى: يمكن عرض المقالات والمنتجات حسب تصنيفات مخصصة في قوالب الموقع.
-
تحسين SEO: تنظيم المحتوى في تصنيفات واضحة يزيد من فرص ظهوره في محركات البحث.
كيفية إنشاء أنواع التصنيفات المخصصة في ووردبريس
يمكن إنشاء أنواع تصنيفات مخصصة باستخدام الأكواد البرمجية أو عبر الإضافات. سنركز هنا على الطريقة البرمجية التي تعتبر أكثر مرونة وقوة.
إنشاء تصنيف مخصص باستخدام دالة register_taxonomy()
الدالة register_taxonomy() هي الدالة الأساسية لتعريف نوع تصنيف مخصص في ووردبريس، وتستقبل عدة معاملات منها اسم التصنيف، وأنواع المحتوى التي سيتم تطبيق التصنيف عليها، بالإضافة إلى مجموعة من الإعدادات.
phpfunction create_custom_taxonomy() {
$labels = array(
'name' => 'أنواع الكتب',
'singular_name' => 'نوع كتاب',
'search_items' => 'البحث في أنواع الكتب',
'all_items' => 'جميع أنواع الكتب',
'edit_item' => 'تعديل نوع الكتاب',
'update_item' => 'تحديث نوع الكتاب',
'add_new_item' => 'إضافة نوع جديد',
'new_item_name' => 'اسم النوع الجديد',
'menu_name' => 'أنواع الكتب'
);
$args = array(
'hierarchical' => true, // true لإنشاء تصنيف هرمي مثل الأقسام، false مثل الوسوم
'labels' => $labels,
'show_ui' => true,
'show_admin_column' => true,
'query_var' => true,
'rewrite' => array('slug' => 'book-type'),
'public' => true,
);
register_taxonomy('book_type', array('post'), $args);
}
add_action('init', 'create_custom_taxonomy');
شرح الكود:
-
register_taxonomy('book_type', array('post'), $args);
هنا نعرف تصنيفًا جديدًا باسم “book_type” وسيطبق على نوع المحتوىpost(المقالات). -
hierarchical:
إذا كانت القيمة true، فإن التصنيف يكون مثل التصنيفات التقليدية مع إمكانية إنشاء تصنيفات فرعية. أما إذا كانت false، يكون التصنيف مثل الوسوم بدون تصنيفات فرعية. -
labels: تعيين نصوص الواجهة في لوحة التحكم الخاصة بالتصنيف. -
rewrite: يعين رابط URL مخصص للتصنيف.
حقول مخصصة (Custom Fields) في ووردبريس
الحقول المخصصة هي بيانات إضافية تُضاف إلى المقالات أو أنواع المحتوى المختلفة لتخزين معلومات غير موجودة في الحقول الافتراضية. هذه الحقول تزيد من مرونة المحتوى، حيث يمكن إضافة معلومات مثل سعر منتج، تاريخ إصدار، مؤلف، تقييم، وغيرها.
أنواع الحقول المخصصة
-
نص (Text): لأدخال نصوص بسيطة.
-
منطقة نصية (Textarea): لإدخال نصوص طويلة.
-
اختيار من قائمة (Select): للاختيار من مجموعة خيارات.
-
صورة (Image): تحميل صورة مرفقة.
-
مربع اختيار (Checkbox): لإضافة خيارات نعم/لا.
-
حقل تاريخ (Date): لتحديد تاريخ.
طرق إنشاء الحقول المخصصة
1. إنشاء الحقول المخصصة يدوياً من خلال لوحة التحكم
ووردبريس يوفر طريقة بسيطة لإضافة حقول مخصصة ضمن تحرير المقالات بدون كتابة كود، لكن هذه الطريقة محدودة ومناسبة للاستخدامات البسيطة.
2. استخدام الأكواد البرمجية
يمكن إضافة حقول مخصصة متقدمة باستخدام دوال مثل add_meta_box() وsave_post().
مثال على إنشاء حقل مخصص لعرض سعر منتج:
phpfunction add_price_meta_box() {
add_meta_box(
'price_meta_box', // معرف الصندوق
'سعر المنتج', // العنوان
'display_price_meta_box', // دالة العرض
'post', // نوع المحتوى
'normal', // مكان العرض
'high' // أولوية العرض
);
}
add_action('add_meta_boxes', 'add_price_meta_box');
function display_price_meta_box($post) {
$price = get_post_meta($post->ID, '_product_price', true);
echo 'esc_attr($price) . '" />';
}
function save_price_meta_box($post_id) {
if (isset($_POST['product_price'])) {
update_post_meta($post_id, '_product_price', sanitize_text_field($_POST['product_price']));
}
}
add_action('save_post', 'save_price_meta_box');
شرح الكود:
-
add_meta_box()تقوم بإنشاء صندوق يظهر في صفحة تحرير المقال. -
get_post_meta()وupdate_post_meta()تُستخدم لجلب وتخزين قيمة الحقل المخصص في قاعدة البيانات. -
sanitize_text_field()لتنظيف البيانات المدخلة من المستخدم.
استخدام إضافات لإنشاء أنواع التصنيفات والحقول المخصصة
لغير المبرمجين أو لتسهيل العملية، هناك إضافات شهيرة في ووردبريس تسمح بإنشاء أنواع التصنيفات والحقول المخصصة بسهولة:
-
Advanced Custom Fields (ACF):
واحدة من أشهر الإضافات لإنشاء حقول مخصصة متقدمة بسهولة بدون كتابة أكواد. توفر واجهة مرئية متقدمة تسمح بإنشاء أنواع حقول متعددة، وشروط عرض الحقول، وربط الحقول بأنواع المحتوى أو التصنيفات. -
Custom Post Type UI:
إضافة متخصصة لإنشاء أنواع المحتوى والتصنيفات المخصصة بدون كود.
دمج أنواع التصنيفات والحقول المخصصة لبناء مواقع متقدمة
يمكن استغلال إنشاء أنواع التصنيفات والحقول المخصصة معاً لبناء أنظمة محتوى متقدمة ومتكاملة. مثال على ذلك:
-
موقع إلكتروني لبيع الكتب:
-
نوع محتوى مخصص: “كتاب”
-
تصنيفات مخصصة: “نوع الأدب”، “الناشر”
-
حقول مخصصة: “سعر الكتاب”، “تاريخ الإصدار”، “عدد الصفحات”، “مؤلف”
-
جدول توضيحي لمثال محتوى الكتب
| العنصر | نوع البيانات | الوصف |
|---|---|---|
| نوع المحتوى | Custom Post Type “كتاب” | يمثل كل كتاب كمادة محتوى مستقلة |
| نوع الأدب | تصنيف مخصص (Taxonomy) | مثل “رواية”، “شعر”، “مسرحية” |
| الناشر | تصنيف مخصص (Taxonomy) | اسم دار النشر |
| السعر | حقل مخصص (Custom Field) | رقم عشري يمثل سعر الكتاب |
| تاريخ الإصدار | حقل مخصص (Custom Field) | تاريخ نشر الكتاب |
| عدد الصفحات | حقل مخصص (Custom Field) | رقم يعبر عن حجم الكتاب |
| مؤلف | حقل مخصص (Custom Field) | اسم المؤلف |
الاعتبارات الأمنية والعملية عند إنشاء أنواع التصنيفات والحقول المخصصة
عند العمل على إضافة تصنيفات وحقول مخصصة، يجب مراعاة بعض النقاط الهامة:
-
التحقق من صلاحيات المستخدم: يجب التأكد من أن المستخدم لديه صلاحية تعديل المحتوى قبل حفظ البيانات.
-
تنظيف المدخلات: استخدام دوال التنظيف مثل
sanitize_text_field()وesc_html()لمنع ثغرات XSS وهجمات الإدخال الضارة. -
التعامل مع التوافق: التأكد من توافق أنواع التصنيفات والحقول مع القوالب والإضافات الأخرى لتفادي التعارضات.
-
الأداء: لا تُكثر من الحقول أو التصنيفات غير الضرورية، لأن ذلك قد يؤثر على أداء الموقع وقاعدة البيانات.
الاستفادة من REST API في ووردبريس مع أنواع التصنيفات والحقول المخصصة
من المزايا المتقدمة لووردبريس هو دعم REST API الذي يسمح بالتعامل مع المحتوى بشكل برمجي عبر واجهات HTTP. عند إنشاء أنواع التصنيفات والحقول المخصصة بشكل صحيح، يمكن عرضها والتحكم بها من خلال REST API مما يتيح بناء تطبيقات ويب أو تطبيقات موبايل متقدمة تعتمد على محتوى ووردبريس.
مثلاً، يمكن تفعيل دعم REST API عند تسجيل التصنيفات:
php$args = array(
'hierarchical' => true,
'labels' => $labels,
'show_ui' => true,
'show_in_rest' => true, // تفعيل REST API
'show_admin_column' => true,
'query_var' => true,
'rewrite' => array('slug' => 'book-type'),
'public' => true,
);
خاتمة
إن إنشاء أنواع التصنيفات والحقول المخصصة في ووردبريس يمثل من الركائز الأساسية لبناء مواقع قوية ومرنة تلبي احتياجات المحتوى المعقد والمتنوع. سواء أكنت مطورًا محترفًا أو صاحب موقع يبحث عن التخصيص، فإن فهم واستخدام هذه الأدوات يعزز من جودة الموقع وفعالية إدارة المحتوى. من خلال القدرة على تنظيم المحتوى بدقة، عرض المعلومات بطريقة مخصصة، وتحسين تجربة المستخدم، تصبح منصة ووردبريس أكثر ملاءمة لمختلف أنواع المشاريع الرقمية الحديثة. ومن الجدير بالذكر أن استخدام الإضافات الشهيرة مثل Advanced Custom Fields يسهل العملية على المستخدمين غير المتخصصين، بينما يمنح المطورين القدرة على التخصيص الكامل عن طريق البرمجة اليدوية.

