إضافة صندوق محتوى (meta box) في لوحة تحكم ووردبريس

أحيانًا نرغب بإضافة بعض الخصائص في داخل صفحة إنشاء تدوينة. بالاعتماد على وظيفة add_meta_box يمكننا إضافة صناديق محتوى (meta box) توفّر لك واجهة بسيطة مع القدرة على إنشاء حقول مخصّصة بشكل سهل. إذا كنت لا تريد أن تدخل في دوامات الأكواد البرمجية، يمكنك الاستعانة بإضافة Betta Boxes CMS. الإضافة تعتمد على وظيفة post meta مما يجعلها متوافقة مع ووردبريس. في هذه التدوينة سأعتمد على إضافة Betta Boxes CMS.

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

صورة توضيحية للمطلوب:

Untitled-1

نلاحظ في الصورة أعلاه ظهور أيقونة فيديو بجانب عنوان الموضوع. كيف يمكن أن نضيف هذه الأيقونة؟ تابع الشرح …

1. تركيب إضافة Betta Boxes CMS وإنشاء صندوق المحتوى

قم بتركيب وتفعيل إضافة Betta Boxes CMS.

بعد تركيب الإضافة أدخل إلى صفحة إعدادات > Betta Boxes

سنقوم بإنشاء الصندوق. شاهد الشرح بالصورة.

ملاحظة: يمكن إضافة أكثر من حقل مخصّص كما يمكن أيضًا تحديد نوع الحقل المخصّص المطلوب. في المثال التالي اخترت الحقل Check Boxes (خانات الاختيار). راجع صفحة الإضافة لمعرفة أنواع الحقول المتوفرّة.

Untitled-2

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

Untitled-4

إظهار الحقل المخصّص في القالب

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

<?php
//check specific options are checked
$checked = get_post_meta(get_the_ID(), 'my-video', true);
if($checked['نعم']) {
	echo '<img src="http://example.com/themes/twentytwelve/images/icon.png">';
}
?>

الكود يحتوي على 3 عناصر أي بمعنى إذا اخترنا الخيار “نعم” في الحقل المخصّص my-video سوف تظهر لنا الأيقونة. عليك مراعاة تغيير هذه العناصر بما يتناسب مع الحقل المخصص الذي أنشأته.

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

أتمنى أن يكون الشرح واضح ومفيد.

8 تعليق

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

  2. السلام عليكم ورحمة الله وبركاته

    فكرة رائعة،، ومن جانب آخر ماذا عن إمكانية وضع “ميتا بوكس” من أجل وضع نص معين في العنوان؟

    على سبيل المثال موقعي

    http://buaec.com

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

    شكرًا لك،،

  3. يمكنك الان تدعيم نوع المقالة Format

    // functions
    add_theme_support( ‘post-formats’, array(
    ‘aside’, ‘image’, ‘video’, ‘audio’, ‘quote’, ‘link’, ‘gallery’,
    ) );

    // templete
    get_post_format()

  4. شكراً على الموضوع. لو أردت أن أقوم بهذه الخاصية، لكن أريد أن أضيف مساحة نص جديدة. لأوضح الفكرة:
    عندي موقع يحتوي على أسئلة وأجوبة متعددة، ما سأقوم به سأضع عنوان السؤال كتايتل في المقالات.
    سأضع جواب الشخص الأول في مساحة المحتوى.
    [أريد الآن أن أضع مساحة محتوى جديدة لأضع جواب الشخص الثاني]، وقد أريد أن أضيف أكثر من جواب لهذا السؤال.
    هل يمكن القيام بذلك بواسطة هذه الإضافة؟
    وهل يخصص الووردبرس لكل مربع محتوى ID خاص، بحيث استطيع أن استدعيه… مثلاً أريد استدعاء السؤال الأول وفقط الجواب الثاني لكل سؤال.

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

أضف تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *