الشروع في العمل مع حقول WordPress المخصصة

نشرت: 2021-01-19

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

على سبيل المثال ، ألق نظرة على منشور مدونة عادي على موقع WordPress الخاص بك. الاحتمالات هي أنه في مكان ما على الصفحة ، سترى اسم المؤلف والتاريخ الذي يظهر وقت نشر المقالة. هذه بيانات وصفية وستظهر في كل منشور على موقع الويب الخاص بك.

لذا ، كيف يمكنك إضافة البيانات الوصفية الخاصة بك إلى منشوراتك أو صفحاتك؟ سهل ... باستخدام حقل مخصص في WordPress!

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

توفر صفحة WordPress ومحرري المنشورات الكثير من الوظائف والمرونة بمجرد إخراجها من الصندوق عندما يتعلق الأمر بالمحتوى الأساسي الذي يظهر في صفحة أو منشور. ولكن ، هل تعلم أن WordPress يوفر أيضًا للمستخدمين طريقة لإضافة محتوى "خارج" المنشور الرئيسي أو محتوى الصفحة؟ سنقوم في هذه المقالة بالإسراع بكيفية استخدام حقول WordPress المخصصة والتي ستساعدك على تنظيم منشوراتك بشكل أفضل وإضافة معلومات مفيدة لقرائك بتنسيق رائع المظهر.

هيا بنا نبدأ!

ما هي الحقول المخصصة والبيانات الوصفية؟

يتضمن المحتوى مثل المنشورات والصفحات والمستخدمين والتعليقات وأنواع المنشورات المخصصة البيانات الوصفية المخزنة في قاعدة البيانات الخاصة بك ضمن جدول postmeta في زوج مفتاح / قيمة.

يتم تضمين المعلومات التي تراها عادةً ضمن منشور أو عنوان صفحة مثل اسم المسؤول أو التاريخ أو عداد التعليقات في البيانات الوصفية للمنشور.

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

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

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

أضف الحقول المخصصة باستخدام حقول WordPress المخصصة

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

إذا كنت تستخدم محرر WordPress الكلاسيكي (أي ليس Gutenberg) ، فافتح منشورًا جديدًا وتوجه إلى الجزء العلوي من هذا المنشور. سترى مربعًا على الجانب الأيمن يقول "خيارات الشاشة". انقر فوق هذا وستظهر قائمة منسدلة بها مربعات اختيار. في هذا يجب أن ترى واحدًا يقول "الحقول المخصصة". ضع علامة على هذا لتمكينهم.

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

الخطوات التالية - إضافة الحقول المخصصة

إضافة الحقول المخصصة الخاصة بك هي في الواقع سهلة للغاية. بعد تمكينهم كما هو موضح أعلاه ، توجه إلى أسفل المنشور الخاص بك وسترى قسمًا جديدًا يسمى (لقد خمنت ذلك) "الحقول المخصصة".

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

استضافة موقع الويب الخاص بك مع Pressidium

ضمان استرداد الأموال لمدة 60 يومًا

اطلع على خططنا

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

في المرة القادمة لن تحتاج إلى النقر فوق النص "إدخال جديد" والكتابة يدويًا في "المصدر". سيظهر الآن في القائمة المنسدلة للقيم.

إذا كان لديك حق الوصول إلى قاعدة البيانات الخاصة بك (على سبيل المثال: عبر phpMyAdmin) ، يمكنك فتح جدول postmeta ، وتصفية الجدول حسب معرف المنشور الذي قمت بتحريره وسترى الحقل المخصص الجديد بقيمته.

الآن بعد أن تأكدنا من تخزين الحقل المخصص بشكل صحيح للمنشور ، دعنا نرى كيف يمكننا عرضه في الواجهة الأمامية لمنشورنا حيث سيتمكن زوار موقعنا من رؤيته!

عرض قيم الحقول المخصصة

لعرض قيمة الحقل المخصص الجديد في منشورنا ، نحتاج إلى إضافة بعض التعليمات البرمجية إلى ملف قالب المنشورات الفردي. عادة ، يمكن العثور على هذا في ملف singular.php الموجود في المجلد الرئيسي للموضوع. في حالتنا (قالب Twenty Twenty) يوجد في ملف /wp-content/themes/twentytwenty/template-parts/content.php .

سنستخدم وظيفة get_post_meta الأساسية التي يوفرها WordPress لاسترداد حقل التعريف للمنشور من قاعدة البيانات. هيكل الوظيفة كما يلي:

 get_post_meta( $post_id, $key, $single )

الوسيطة الوحيدة المطلوبة هي $post_id . الوسيطة $key هي مفتاح التعريف المراد استرداده وتحدد الوسيطة $single ما إذا كانت قيمة واحدة قد تم إرجاعها أو أنها غير مجدية إذا لم يتم تعريف $key على الإطلاق.

إذا تم التصريح عن $post_id فقط ، فستكون النتيجة مصفوفة تحتوي على جميع المفاتيح المتعلقة بالمنشور المعين. لذلك ، إذا أدخلت فقط get_post_meta( $post_id ) ، فستحصل على شيء مثل هذا:

 Array ( [field1_key] => Array ( [0] => value1 ) [field2_key] => Array ( [0] => value2 ) [field3_key] => Array ( [0] => value3 ) )

إذا كنت تستخدم get_post_meta( $post_id, 'filed1_key' ) فستحصل على شيء مثل Array ( [0] => value1 ) value1 كنت تستخدم get_post_meta( $post_id, 'filed1_key', true ) كما فعلنا قبل أن تحصل على قيمة 1 .

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

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

 $source = get_post_meta( get_the_ID(), 'source', true); if( !empty( $source ) ) { echo '<h3>Source: ' . $source . '<h3>'; } ?>

سنقوم بإدخال الكود مباشرةً بعد محتوى المنشور بحيث يظهر الرمز داخل HTML div مع الفئة "entry-content" على النحو التالي:

 <div class="entry-content"> <?php if ( is_search() || ! is_singular() && 'summary' === get_theme_mod( 'blog_content', 'full' ) ) { the_excerpt(); } else { the_content( __( 'Continue reading', 'twentytwenty' ) ); } $source = get_post_meta( get_the_ID(), 'source', true); if( !empty( $source ) ) { echo '<h3>Source: ' . $source . '<h3>'; } ?> </div><!-- .entry-content -->

لنرى الآن ما أنجزناه بفتح منشور جديد وإلقاء نظرة على كيفية ظهور هذا المحتوى في الواجهة الأمامية.

إخراج الحقل المخصص

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

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

إضافة الحقول المخصصة باستخدام البرنامج المساعد

البرنامج المساعد الحقول المخصصة المتقدمة

يعد المكون الإضافي Advanced Custom Fields أحد أفضل المكونات الإضافية المتاحة التي تتيح لك إضافة حقول مخصصة بسرعة إلى موقع WordPress الخاص بك ويوفر مزيدًا من التحكم في بيانات الحقول المخصصة. باستخدام منشئها ، يمكنك بسهولة إنشاء حقول مخصصة يمكن إضافتها بعد ذلك إلى منشوراتك والمستخدمين والتصنيفات والوسائط والتعليقات وحتى صفحات الخيارات المخصصة.

قم بإنشاء الحقول المخصصة الخاصة بك باستخدام ACF

بعد تثبيت وتفعيل المكون الإضافي ACF ، انتقل إلى "الحقول المخصصة> مجموعات الحقول" حيث تظهر الحقول المسجلة.

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

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

أيضًا ، هناك المزيد من الإعدادات المتاحة التي تتيح لك تغيير مظهر الحقل (مفيد جدًا) وقائمة مربعات الاختيار لك لتحديد ما يجب إخفاؤه على شاشات التحرير المقابلة.

رائع ، أليس كذلك؟

أيضًا ، في قائمة أدوات ACF ، يمكنك تصدير أو استيراد مجموعات من الحقول بتنسيق JSON لتسريع الأمور إذا تم إنشاؤها بالفعل في مكان آخر.

مثال عملي باستخدام الحقول المخصصة المتقدمة

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

كما ترى لا تستخدم جميع الحقول نفس النوع.

  • حقل المؤلف هو حقل نصي بسيط حيث سنقوم بملء الاسم الكامل للمؤلف.
  • حقل النوع هو حقل تحديد ويجب أن يقبل قيمًا متعددة. يمكن أن يرتبط الكتاب بأكثر من ذلك النوع.
  • يجب إدراج الاختيارات المحددة مسبقًا للنوع في مربع الخيارات ، كل واحدة في السطر الخاص بها.

يجب أن يكون حقل الغلاف عبارة عن حقل تحديد قيمة واحدة مع الاختيارات المحددة مسبقًا أيضًا.

الآن دعنا نذهب وتحرير منشور الكتاب. ستظهر الحقول مجمعة بشكل جيد في الشريط الجانبي.

إذا كنت تريد تغيير موضع مجموعة الحقول ، فيرجى الانتقال إلى الإعدادات المقابلة:

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

اعرض حقول ACF المخصصة

يمكنك بسهولة إظهار الحقول المخصصة في قالب القالب الخاص بك باستخدام الوظائف الملائمة التي يوفرها المكون الإضافي ACF. اثنان من هؤلاء هم:

  • get_field() - ترجع قيمة حقل معين.
  • the_field() - يعرض قيمة حقل معين.

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

لذلك ، لإخراج حقلك المخصص في قالب عرض المنشور ، ستحتاج إلى إضافة بعض التعليمات البرمجية مثلما فعلنا عند استخدام حقول WordPress المخصصة الافتراضية. بدلاً من ذلك ، سنستخدم هذه المرة وظائف ملحق ACF. نظرًا لأننا نستخدم نسق Twenty Twenty ، يتعين علينا تحرير ملف content.php ضمن twentytwenty/template-parts/ . بعد إغلاق القسم الداخلي مباشرة أضفنا الأسطر التالية:

 <div class="entry-content"> <?php if( get_field( 'author' ) ) { echo '<p><b>Author:</b> ' . get_field( 'author' ) . '<p>'; } if( get_field( 'genre' ) ) { echo '<p><b>Genre:</b> ' . get_field( 'genre' ) . '<p>'; } if( get_field( 'cover' ) ) { echo '<p><b>Cover:</b> ' . get_field( 'cover' ) . '<p>'; } ?> </div>

في المنظر الأمامي يمكننا الآن رؤية الحقول المخصصة.

ومع ذلك ، لا يتم عرض حقل النوع بشكل صحيح. هذا لأنه يحتوي على قيم متعددة ، لذلك تقوم دالة get_field بإرجاع مصفوفة. لإصلاح هذا سيتعين علينا تحويل المصفوفة إلى سلسلة من قيمها. هذا سهل في PHP باستخدام وظيفة implode() .

 <div class="entry-content"> <?php if( get_field( 'author' ) ) { echo '<p><b>Author:</b> ' . get_field( 'author' ) . '<p>'; } if( get_field( 'genre' ) ) { echo '<p><b>Genre:</b> ' . implode( ", ", get_field( 'genre' ) ) . '<p>'; } if( get_field( 'cover' ) ) { echo '<p><b>Cover:</b> ' . get_field( 'cover' ) . '<p>'; } ?> </div>
عرض الحقول المخصصة التي تم إنشاؤها بواسطة الرمز القصير

إذا كنت ترغب في عرض بعض الحقول بشكل انتقائي ولكن ليس جميعها في مشاركات معينة ، يمكنك القيام بذلك باستخدام بعض الرموز المختصرة لـ ACF. للقيام بذلك ، افتح المنشور الخاص بك ثم قم بإضافة رمز قصير واحد من كتلة Gutenberg لكل حقل وقم بوضع رمز قصير مثل هذا:

 [acf field="MY_CUSTOM_FIELD"/]

استبدل MY_CUSTOM_FIELD باسم الحقل ويجب أن يعمل ذلك بشكل مثالي.

كما نرى ، يمنحنا استخدام المكون الإضافي Advanced Custom Fields مرونة رائعة لإنشاء حقول مخصصة وعرضها في المكان الذي نريده.

استنتاج

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

أنظر أيضا

جداول قائمة مسؤول WordPress: إضافة عوامل تصفية مخصصة
إضافة الحقول المخصصة إلى عناصر قائمة WordPress