كيفية إنشاء WordPress نوع المنشور المخصص برمجيًا

نشرت: 2021-10-05

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

في البداية ، تم إنشاء WordPress لنشر المنشورات. ومع ذلك ، بعد كل هذه السنوات ، أصبح WordPress أكثر من مجرد منصة لنشر المنشورات. في الوقت الحاضر ، هو الحل الأكثر اكتمالا للويب الذي يشغل ما يقرب من 40٪ من جميع مواقع الويب.

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

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

ما هو نوع المنشور المخصص؟

أنواع المنشورات المخصصة هي أنواع المحتوى. يأتي WordPress مع العديد من أنواع المنشورات افتراضيًا. المنشورات والصفحات هي الأكثر شهرة ولكن هناك غيرها:

  • دعامات
  • الصفحات
  • المرفقات
  • قوائم التنقل
  • التنقيحات
  • CSS مخصصة
  • التغييرات

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

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

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

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

لماذا ومتى يجب استخدام نوع منشور مخصص؟

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

يمكنك استخدام أنواع المنشورات المخصصة عندما:

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

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

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

الآن بعد أن فهمنا ماهيتها بشكل أفضل ومتى نستخدمها ، دعنا نرى كيفية إنشاء أنواع منشورات مخصصة.

كيفية إنشاء WordPress نوع المنشور المخصص برمجيًا

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

في لوحة القيادة ، انتقل إلى المظهر> محرر السمات ، وافتح ملف function.php للقالب الفرعي في العمود الأيمن والصق البرنامج النصي التالي. سيتم تسجيل نوع منشور مخصص يسمى أفلام .

 الوظيفة QuadLayers_custom_post_type () {
// تعيين تسميات واجهة المستخدم لنوع المنشور المخصص
    تسميات $ = مجموعة (
        'name' => _x ("الأفلام" ، "الاسم العام لنوع المنشور" ، "واجهة المتجر") ،
        'singular_name' => _x ('فيلم'، 'اسم منفرد لنوع المنشور'، 'واجهة المحل')،
        'menu_name' => __ ('Movies'، 'storeefront') ،
        'parent_item_colon' => __ ("الفيلم الرئيسي"، "واجهة المحل")،
        'all_items' => __ ("كل الأفلام"، "واجهة المحل")،
        'view_item' => __ ('View Movie'، 'storeefront')،
        'add_new_item' => __ ("إضافة فيلم جديد"، "واجهة المحل")،
        'add_new' => __ ('إضافة جديد'، 'واجهة المحل')،
        'edit_item' => __ ('Edit Movie'، 'storeefront')،
        'update_item' => __ ('تحديث الفيلم'، 'واجهة المحل')،
        'search_items' => __ ('Search Movie'، 'storeefront')،
        'not_found' => __ ('غير موجود'، 'واجهة المحل')،
        'not_found_in_trash' => __ ('غير موجود في المهملات'، 'واجهة المحل')،
    ) ؛
// تعيين الخيارات الأخرى لنوع المنشور المخصص
    $ args = مجموعة (
        "التسمية" => __ ("الأفلام" ، "واجهة المحل") ،
        'description' => __ ('أخبار ومراجعات الفيلم'، 'واجهة المحل')،
        "labels" => تسميات $ ،  
        'يدعم' => مجموعة ('العنوان' ، 'محرر' ، 'مقتطف' ، 'المؤلف' ، 'الصورة المصغرة' ، 'التعليقات' ، 'المراجعات' ، 'الحقول المخصصة' ،) ،     
        "التصنيفات" => مجموعة ("الأنواع") ،     
        "هرمي" => خطأ ،
        'public' => صحيح ،
        'show_ui' => صحيح ،
        'show_in_menu' => صحيح ،
        'show_in_nav_menus' => صحيح ،
        'show_in_admin_bar' => صحيح ،
        "menu_position" => 5 ،
        "can_export" => صحيح ،
        'has_archive' => صحيح ،
        'استبعاد_from_search' => خطأ ،
        'public_queryable' => صحيح ،
        "قدرة_نوع" => "نشر" ،
        'show_in_rest' => صحيح ، 
    ) ؛
    // تسجيل نوع المنشور المخصص الخاص بك
    register_post_type ("أفلام" ، $ args) ؛
}
add_action ('init'، 'QuadLayers_custom_post_type'، 0) ؛

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

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

أضف نوع المنشور المخصص

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

شرح الكود

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

نستخدم wp_init() للتأكد من أن وظيفتنا تعمل مرة واحدة: عندما يبدأ WordPress. في وظيفة QuadLayers_custom_post_type() لدينا ، هناك ثلاثة أجزاء.

1) تسميات

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

$labels = array(
'name' => _x( 'Movies', 'Post Type General Name', 'storefront' ),
);

2) خيارات

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

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

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

للحصول على قائمة كاملة بجميع الحجج ووصفها ، راجع هذه الوثائق.

3) تسجيل نوع البريد المخصص

ستقوم وظيفة WordPress register_post_type () في النهاية بتسجيل نوع المنشور المخصص الجديد الخاص بنا وتعيينه بحيث يكون جاهزًا للاستخدام.

الآن بعد أن فهمت الكود بشكل أفضل ، يمكنك البدء في نشر أنواع منشوراتك المخصصة. ولكن بصرف النظر عن نشرها ، سترغب في عرض CPT في مكان ما. دعونا نرى كيف نفعل ذلك.

كيفية عرض أنواع المنشورات المخصصة في WordPress

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

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

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

سينشئ البرنامج النصي التالي رمزًا قصيرًا يسمى Movies ، والذي سيطبع جميع الأفلام التي نضيفها إلى CPT الخاص بنا في أي صفحة نضيف فيها الرمز القصير.

 add_shortcode ("أفلام" ، "QuadLayers_display_cpt_shortcode") ؛
الوظيفة QuadLayers_display_cpt_shortcode () {
    $ args = array ('post_type' => 'movies'، 'posts_per_page' => 10)؛
    $ the_query = WP_Query جديد ($ args) ؛
    إذا (the_query $-> have_posts ()):
    while (the_query $-> have_posts ()): $ the_query-> the_post ()؛
    $ c = the_title (sprintf ('<h2 class = "entry-title">'، esc_url (get_the_title ()))، '</h2>').
    '<div class = "entry-content">'.
    المحتوى().
    "</div>" ؛
في غضون ذلك
wp_reset_postdata () ،
آخر:
$ c = 'معذرة ، لا توجد منشورات مطابقة للمعايير الخاصة بك.'؛
إنهاء إذا؛
عودة $ c؛
}

لذلك إذا قمت بوضع الرمز القصير على الصفحة:

رمز قصير لعرض CTP

سترى النتيجة:

نوع آخر مخصص مع رمز قصير

استنتاج

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

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

هل حاولت إنشاء أنواع منشورات مخصصة على موقعك؟ دعنا نعرف تجربتك في قسم التعليقات.

لتخصيص مناطق أخرى من موقعك ، تحقق من البرامج التعليمية التالية:

  • كيفية إضافة حقول تحميل مخصصة إلى WooCommerce
  • كيفية إضافة الحقول المخصصة إلى الخروج
  • دليل لتحرير حقول الخروج من WooCommerce