قاعدة بيانات ووردبريس


يستخدم ووردبريس قاعدة بيانات لتخزين كل المحتوى الذي تنشئه على موقعك واسترداده وعرضه. ويشمل ذلك المقالات والصفحات والتعليقات وغير ذلك.

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

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

التفاعل مع قاعدة بيانات ووردبريس

هناك عدة طرق للتفاعل مباشرةً مع قاعدة بيانات ووردبريس.

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

البديل لـ phpMyAdmin هو أداة تُسمى Adminer. وAdminer هو ملف PHP واحد يمكنك رفعه إلى موقعك، ويوفر واجهة مشابهة لـ phpMyAdmin. وتفضّل بعض شركات الاستضافة وبيئات التطوير المحلية استخدام Adminer بدلًا من phpMyAdmin.

وأخيرًا، إذا لم يكن لديك وصول إلى أيٍّ منهما، فيمكنك أيضًا تثبيت إضافة تُسمى SQL Buddy.

هذه إضافة مجانية لووردبريس توفر واجهة مشابهة لـ phpMyAdmin وAdminer، لكنها تعمل داخل لوحة تحكم ووردبريس.

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

جداول قاعدة البيانات

لأغراض هذا الدرس، سنستخدم PhpMyAdmin لفحص جداول قاعدة البيانات.

تتكون قاعدة بيانات ووردبريس من العديد من الجداول. ويخزّن كل جدول نوعًا مختلفًا من البيانات الخاصة بموقعك.

يحمل كل جدول البادئة نفسها، وهي محددة في ملف wp-config.php. تكون البادئة افتراضيًا wp_، ولكن يمكنك تغييرها إلى أي شيء تريده أثناء عملية تثبيت ووردبريس.

لنبدأ بالنظر إلى أهم الجداول لإدارة المحتوى.

wp_posts وwp_postmeta

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

wp_comments وwp_commentmeta

يخزّن جدول wp_comments معلومات حول التعليقات على مقالاتك وصفحاتك. فعندما يعلّق شخص ما على مقالة أو صفحة، يُخزَّن ذلك التعليق في هذا الجدول. ويمثل كل صف في جدول wp_comments تعليقًا واحدًا. ويمكن لجدول wp_commentmeta تخزين معلومات إضافية حول كل تعليق.

wp_user وwp_usermeta

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

دوال التفاعل مع المقالات والتعليقات والمستخدمين

توجد دوال لجميع جداول قاعدة بيانات ووردبريس يمكنك استخدامها للتفاعل مع ذلك الجدول.

تشكل هذه الدوال جزءًا من واجهة برمجة قاعدة بيانات ووردبريس.

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

عمومًا، تتبع الدوال التي يمكنك استخدامها للتفاعل مع قاعدة بيانات ووردبريس نمطًا مشابهًا.

توجد دالة للإدراج، ودالة للتحديث، ودالة للحذف.

وعادةً ما تحمل هذه الدوال الاسم نفسه، مع البادئة wp_ متبوعة بالإجراء، ثم اسم الجدول.

لنلقِ نظرة على هذه الدوال الخاصة بالمقالات كمثال:

  • wp_insert_post هي الدالة لإنشاء مقالة جديدة
  • wp_update_post هي الدالة لتحديث مقالة موجودة
  • wp_delete_post هي الدالة لحذف مقالة

ثم توجد عادةً دوال لجلب جميع السجلات من جدول ما، أو سجل واحد.

وعادةً ما تحمل هذه الدوال الاسم نفسه، مع البادئة get_ متبوعة بالاسم المفرد أو الجمع للجدول.

فعلى سبيل المثال، get_posts هي الدالة لجلب مجموعة من المقالات.

وget_post هي الدالة لجلب مقالة واحدة.

تحتوي كل واحدة من هذه الدوال عادةً على عدد من المعلمات التي يمكنك استخدامها لتصفية النتائج المُرجعة.

وتوجد أيضًا دوال للتفاعل مع أي جداول للبيانات الوصفية، وعادةً لإدراج الحقول الوصفية أو تحديثها أو حذفها.

وعادةً ما تحمل هذه الدوال الاسم نفسه، مع الإجراء متبوعًا بالاسم المفرد للجدول، ثم _meta.

فعلى سبيل المثال، بالنسبة إلى المقالات، فإن add_post_meta هي الدالة لإدراج حقل وصفي.

وبالمثل، فإن update_post_meta هي الدالة لتحديث حقل وصفي، وdelete_post_meta هي الدالة لحذف حقل وصفي.

wp_terms وwp_termmeta وwp_term_relationships وwp_term_taxonomy

جداول wp_terms وwp_termmeta وwp_term_relationships وwp_term_taxonomy هي الجداول التي تدير الفئات والوسوم في موقع ووردبريس الخاص بك.

يخزّن جدول wp_terms معلومات حول المصطلحات الخاصة بموقعك. ويمثل كل صف في جدول wp_terms مصطلحًا واحدًا. وتُعد كل من الفئات والوسوم مصطلحات في الأساس.

ما يحدد ما إذا كان المصطلح فئة أم وسمًا هو التصنيف الذي يرتبط به، والذي يُخزّن في جدول wp_term_taxonomy.

يخزّن جدول wp_term_relationships العلاقات بين المصطلحات والكائنات الأصلية الخاصة بها، سواء كانت مقالة أو صفحة أو نوعًا مخصصًا من المقالات.

وأخيرًا، يمكن لجدول wp_termmeta تخزين معلومات إضافية حول كل مصطلح.

دوال التفاعل مع المصطلحات والتصنيفات

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

wp_options

يخزّن جدول wp_options معلومات حول إعدادات موقعك. ويمثل كل صف في جدول wp_options إعدادًا محددًا. فعلى سبيل المثال، يخزّن الخيار siteurl عنوان URL الخاص بموقعك، بينما يخزّن الخيار blogdescription الشعار التعريفي لموقعك. كما يخزّن جدول wp_options معلومات حول القالب النشط والإضافات النشطة في موقعك.

تُخزّن البيانات في جدول wp_options باستخدام تنسيق المفتاح والقيمة. والمفتاح هو اسم الخيار، والقيمة هي قيمة الخيار.

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

دوال التفاعل مع الخيارات

تُستخدم واجهة برمجة الخيارات عادةً مع واجهة برمجة الإعدادات لإنشاء صفحات إعدادات لوحة تحكم ووردبريس، سواء من خلال النواة أو الإضافات أو القوالب. وتوفر واجهة برمجة الخيارات دوال للتفاعل مع جدول wp_options، مثل add_option وupdate_option وdelete_option.

wp_links

يخزّن جدول wp_links معلومات حول روابط موقعك. وكانت الروابط ميزة أُزيلت من ووردبريس في الإصدار 3.5.

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

الخلاصة

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