شرح أساسي لطريقة إنشاء مواضيع مخصّصة (custom-post-type)

18

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

إنشاء custom-post-type

على سبيل المثال، أرغب بانشاء قسم جديد في موقعي وأريد أن أسميه “صورة اليوم”. شاهد المثال في الصورة التالية:

221148

نلاحظ في المثال أعلاه أنّ صورة اليوم أصبحت في قسم منفصل في داخل لوحة التحكم.

لتنفيذ هذا الشيء أضف الكود التالي في داخل ملف functions.php

    function create_post_type() {  
        register_post_type( 'pictureofday',  
            array(  
                'labels' => array(  
                    'name' => __( 'صورة اليوم' ),
					'all_items' => __( 'كافة الصور' ),
					'add_new' => 'أضف صورة جديدة',		
					'add_new_item' => 'أضف صورة جديدة',					
                    'singular_name' => __( 'صورة اليوم' )  
                ),  
            'public' => true,  
			'has_archive' => true,
            'menu_position' => 5,  
			'supports' => array( 'thumbnail' ),
            'rewrite' => array('slug' => 'pictureofday')  
            )  
        );  
    }  
      
    add_action( 'init', 'create_post_type' ); 

هذا الكود هو عبارة عن كود أساسي، يمكنك دراسة الأمر بشكل مفصّل للتعرف على كافة المتغيرات المتاحة من خلال هذا الرابط.

للتوضيح، “pictureofday” هو اسم ال custom-post-type ويمكنك اختيار أي اسم آخر تريده.

بعد إضافة هذا الكود في ملف functions.php سيظهر لديك في لوحة التحكم قسم جديد كما هو موضّح بالصورة أعلاه.

تنسيق صفحة الـ custom-post-type

الآن لا أريد أن يكون شكل التدوينة هو نفس الشكل التقليدي لباقي التدوينات، بل أريد أن أمنح الصفحة التي تظهر فيها صورة اليوم تصميمًا خاصًا.

يمكن عمل ذلك بسهولة عن طريق إنشاء نسخة جديدة من الملف المسئول عن عرض التدوينة في موقعك (عادة يكون اسم الملف single.php) ثمّ حفظ الملف بالاسم:

single-(custom-post-type).php

وذلك مع مراعاة تغيير (custom-post-type) إلى الاسم الذي اخترناه في الخطوة الأولى، أي سيصبح اسم الملف بالاعتماد على المثال في هذا الموضوع:

single-pictureofday.php

يمكنك الآن التعديل على ملف single-pictureofday.php حتى تمنح صفحة صورة اليوم التصميم الخاص الذي ترغب به.

3. تنسيق تصنيف مواضيع الـ custom-post-type

أرغب أيضًا بمنح تصميم خاص لصفحة تصنيف الصور!

يمكنك أيضًا أن تمنح تصنيف المواضيع المخصّصة شكلًأ مختلفًا عن التصميم التقليدي للتصنيفات في موقعك.

سنقوم بتنفيذ نفس الفكرة في الخطوة رقم 2 لكن هذه المرة سيكون اسم الملف archive-(custom-post-type).php طبعًا مع مراعاة تغيير (custom-post-type) إلى الاسم الذي اخترناه في الخطوة الأولى، أي سيصبح اسم الملف بالاعتماد على المثال في هذا الموضوع archive-pictureofday.php

إذا ظهر لك خطأ 404 عند محاولتك الدخول لصفحة التصنيف في موقعك، تأكّد أنك أضفت الكود التالي في ملف functions.php ( راجع الخطوة رقم 1)

'has_archive' => true

هذا الكود مسئول عن إتاحة الأرشفة للمواضيع المخصّصة.

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