كيفية إنشاء واستخدام حقول مخصصة لـ WordPress
نشرت: 2020-04-23تتمثل إحدى المزايا الرئيسية لـ WordPress في تعدد استخداماته ، وهو أمر ممكن بفضل ميزات التوسعة المضمنة فيه. من بين صيغ الامتدادات المختلفة التي يقدمها ، نجد حقولًا مخصصة :
WordPress لديه القدرة على السماح لمؤلفي المنشورات بتعيين حقول مخصصة للمنشور . تُعرف هذه المعلومات الإضافية التعسفية باسم البيانات الوصفية .
يتم التعامل مع البيانات الوصفية باستخدام أزواج المفتاح / القيمة . المفتاح هو اسم عنصر البيانات الوصفية. القيمة هي المعلومات التي ستظهر في قائمة البيانات الوصفية في كل منشور فردي ترتبط به المعلومات.
وثائق WordPress.org
على سبيل المثال ، إذا أردنا إنشاء بيانات وصفية حول المفاهيم المتعلقة بعالم السيارات ، فسنحصل على أشياء مثل:
- الماركة : Ford
- الموديل : التركيز
- اللون : أبيض
- القوة : 110 حصان
- إلخ
سأوضح لك في منشور اليوم كيفية إنشاء حقول مخصصة ، وكيفية استخدامها ، وكيف يمكن أن تساعدك كمستخدم و / أو مطور WordPress. يرجى ملاحظة أنك ستحتاج إلى بعض الفهم الأساسي لكيفية البرمجة في WordPress ... ولكن آمل أن تتمكن من متابعة المنشور بسهولة ، خاصة عندما أوضح لك كيفية استخدام مكون إضافي رائع للعمل مع الحقول المخصصة: الحقول المخصصة المتقدمة.
كيف تعمل حقول WordPress المخصصة
أفضل طريقة لفهم ماهية الحقول المخصصة وكيف تعمل هي إلقاء نظرة على قاعدة بيانات WordPress. كما تعلم بالفعل ، في كل مرة تنشئ فيها منشورًا أو صفحة أو (تقريبًا) أي نوع آخر من المحتوى في WordPress ، يتم تخزين هذا المحتوى الجديد في جدول يسمى wp_posts (يمكن تغيير البادئة).
تشبه الجداول الموجودة في قاعدة البيانات أي جدول آخر سبق لك العمل معه. بشكل أساسي ، لديهم مجموعة من الأعمدة التي تحدد "ما يمكنك تخزينه" والصفوف التي تحتوي على معلومات محددة. في حالة wp_posts ، فإن الأعمدة هي أشياء مثل العنوان والمحتوى والمؤلف وتاريخ النشر وما إلى ذلك. لا شيء رائع ، لأكون صادقًا:

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

wp_postmeta في قاعدة بيانات WordPress. كما ترى في لقطة الشاشة السابقة ، تم تصميم جدول البيانات الوصفية بطريقة يمكننا من خلالها إنشاء أزواج مفتاح / قيمة باستخدام أعمدة meta_key و meta_value وربط كل زوج بمحتوى معين باستخدام العمود post_id . سهل بما فيه الكفاية!
لذلك دعونا نلقي نظرة فاحصة على كيفية العمل مع هذا الجدول!
كيفية إنشاء حقل مخصص جديد
كما رأينا بالفعل ، ترتبط الحقول المخصصة دائمًا بمنشور معين. لذلك ، تتوقع نوعًا من واجهة المستخدم في المحرر ، حسنًا ، لتحريرها ، أليس كذلك؟ لسوء الحظ ، إذا ألقيت نظرة على Gutenberg ، فلن تجد ...
لتعديل الحقول المخصصة في محرر WordPress ، يجب عليك تمكين لوحة متقدمة. ما عليك سوى النقر فوق الرمز الأيمن العلوي في المحرر ثم النقر فوق " خيارات ":

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

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


تتيح لنا هذه الواجهة البسيطة إنشاء أكبر عدد نريده من أزواج المفاتيح / القيمة. في لقطة الشاشة أعلاه ، على سبيل المثال ، ترى كيف أضفت بعض الحقول التي قدمتها في بداية هذا المنشور: nelio_brand و nelio_model و nelio_color و nelio_hp .
كيفية استخدام حقل مخصص
لاستخدام حقل مخصص ، تحتاج إلى ثلاثة أشياء: (أ) معرف المنشور ، (ب) اسم الحقل الذي تريد استخدامه ، (ج) تحديد المكان الذي تريد استخدامه فيه. على سبيل المثال ، افترض أنني أريد عرض حقل nelio_brand الذي أنشأناه في المثال أعلاه في نهاية المنشور. لاسترداد قيمته ، هناك وظيفة تسمى get_post_meta يمكننا استخدامها على النحو التالي:
function nelio_add_brand_field( $content ) { $brand = get_post_meta( get_the_ID(), 'nelio_brand', true ); return "{$content}\n<p><strong>Brand:<strong> {$brand}</p>"; } add_filter( 'the_content', 'nelio_add_brand_field' );لاحظ أننا في المثال السابق نتناول الأشياء الثلاثة التي ذكرتها من قبل:
- المعلمة الأولى لـ
get_post_metaهي تحديدًا معرّف المشاركة التي أهتم بها. في هذه الحالة ، نستخدمget_the_ID()، الذي يعرض معرف المنشور الحالي. - المعامل الثاني هو اسم حقل التعريف الخاص بنا (في هذه الحالة ،
nelio_brand). - أخيرًا ، نحن نستخدم حقل التعريف في الواجهة الأمامية ، كشيء نريد إظهاره في نهاية محتوى المنشور. ويمكنك معرفة ذلك لأنني
the_contentأثناء مرشح المحتوى.
نتيجة القيام بذلك تشبه ما يمكنك رؤيته في لقطة الشاشة التالية:

لكن هذا مجرد مثال بالطبع! يمكنك استخدام الحقول المخصصة بعدة طرق بخلاف "طباعة شيء ما في الواجهة الأمامية". على سبيل المثال ، يعد Nelio A / B Testing أحد المكونات الإضافية التي أنشأناها وهي مصممة لإجراء اختبارات مقسمة في موقع WordPress. يتطلب اختبار A / B إنشاء محتوى بديل ، ويستخدم المكون الإضافي الخاص بنا حقولًا مخصصة لتسمية المحتوى البديل على هذا النحو ويحد من كيفية ووقت وصول الزائر إلى هذا المحتوى.
وظائف WordPress لإدارة الحقول المخصصة
بنفس الطريقة التي لدينا طريقة لاسترداد قيمة حقل مخصص ( get_post_meta ) ، فإن WordPress لديه طرق إضافية لإنشاء وتحديث وحذف الحقول المخصصة برمجيًا: add_post_meta و update_post_meta و delete_post_meta . تعمل هذه الوظائف كما تتوقع ، لذلك لن أزعجك بمزيد من التفسيرات ...
ما هو وكيفية استخدام الحقول المخصصة المتقدمة
الآن بعد أن عرفت كيف تعمل الحقول المخصصة في WordPress ، أعتقد أنه يمكنني بالفعل تقديم الأخبار السارة لك: هناك العديد من المكونات الإضافية التي تبسط إلى حد كبير عملية العمل مع الحقول المخصصة!
يعد Advanced Custom Fields (الحقول المخصصة المتقدمة) من أشهر المكونات الإضافية وأفضلها تصنيفًا لإنشاء بيانات وصفية في موقع WordPress. باستخدامه ، لن تكون قادرًا فقط على تحديد الحقول المخصصة بطريقة أبسط ، ولكن سيكون لديك أيضًا إمكانية الاستمتاع بواجهة مستخدم محسنة للتعامل مع هذه الحقول. تتأكد هذه الواجهة من أن القيم التي تحددها منطقية وذات مغزى: التواريخ والصور والمعارض والنطاقات والأرقام ... سمها ما شئت!

إذا كنت تريد معرفة المزيد عن ACF ، فهناك الكثير من الموارد المتاحة. لكن أعتقد أن حديث Jo Minney هذا يمكن أن يساعدك حقًا على البدء:
نأمل أن تساعدك هذه المقدمة الصغيرة للحقول المخصصة في طريقك لتصبح مطور WordPress أفضل!
صورة مميزة بواسطة Polina Rytova على Unsplash.
