أنواع منشورات WordPress: الدليل الكامل

نشرت: 2021-02-16

إذا كنت من مطوري WordPress الذين يهتمون كثيرًا بالتصميم والتنظيم ، فقد حان الوقت لفهم أنواع منشورات WordPress تمامًا.

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

ولكن ما هي أفضل طريقة لتحطيم السقف الزجاجي لتصميم وتطوير WordPress ، مع الاستمرار في منح المستخدم تجربة مستخدم رائعة؟

تم العثور على الإجابة في أنواع منشورات WordPress وأنواع منشورات WordPress المخصصة.

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

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

ولكن ماذا يعني ذلك بالضبط وأين تبدأ؟

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

هيا نكتشف.

ما هي أنواع بوست ووردبريس؟

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

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

عند استخدام WordPress core ، سيأتي تلقائيًا مع أنواع المنشورات التالية ، والتي يتم تخزين كل منها في جدول wp_posts في قاعدة بيانات WordPress الخاصة بك:

  • الصفحات
  • دعامات
  • التنقيحات
  • المرفقات
  • لغة تنسيق ويب حسب الطلب
  • قوائم التنقل
  • التغييرات

يحتوي كل نوع من أنواع المنشورات على حقلي محرر وعنوان ، تمامًا كما اعتدت على الصفحات والمشاركات العادية.

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

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

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

يمكن أن يكون نوع المنشور الجديد أي شيء تريده. اعتمادًا على موضوع موقعك ، يمكن أن تكون أشياء مثل:

  • دور
  • المراجعات
  • دراسات الحالة
  • أفلام
  • اقتباس موحي
  • إلخ.

تجعل وظيفة نوع منشور WordPress أي نوع جديد من المحتوى ممكنًا.

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

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

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

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

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

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

نظرة على أنواع منشورات WordPress المخصصة

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

للبدء ، اتبع هذه الخطوات لإنشاء نوع منشور جديد:

  1. تسجيل الدخول إلى منطقة الإدارة الخاصة بك.
  2. افتح محرر الكود الخاص بك وملف function.php لموضوعك.
  3. أضف خمسة أسطر من التعليمات البرمجية الموضحة أدناه إلى أعلى ملف function.php.
  4. قم بتحديث المتصفح.
  5. تحقق من قائمة مسؤول WordPress ضمن التعليقات لعنصر قائمة نوع المنشور الجديد.
  6. امسح الروابط الثابتة الخاصة بك.

إليك الكود المراد إضافته:

<?php 
  add_action( 'init', function() {
    $label = 'Books';
    $type = 'book';
    register_post_type( $type, [ 'public' => true, 'label' => $label ] );
  });

يجب أن يكون لديك الآن نوع منشور جديد.

ولكن ما الذي يمكنك فعله بالفعل بنوع المنشور الجديد؟

قوة أنواع منشورات WordPress وأنواع منشورات WordPress المخصصة

للبحث في أنواع المنشورات حقًا ، دعنا نعمل مع مثال واحد محدد لإنشاء موقع ويب جديد للمحفظة يحتاج إلى عرض قائمة بدراسات الحالة.

لهذا ، سنقوم بتسجيل نوع منشور جديد لإدارة كل دراسة حالة.

باستخدام سمة Twenty Twenty WordPress الافتراضية ، سنبدأ بإضافة نوع منشور الدراسة الخاص بنا إلى السمة.

أولاً ، افتح ملف function.php الخاص بموضوع Twenty Twenty في محرر الكود الخاص بك. هذا هو المكان الذي ستكتب فيه رمز نوع البريد الخاص بك.

يجب تسجيل نوع المنشور الجديد في أعلى ملف jobs.php. يتم ذلك باستخدام ربط الووردبريس الأولي باستخدام add_action (). عند استخدام الوظيفة لـ register_post_type لإضافة نوع المنشور ، فلن تعمل بشكل صحيح بدون ربط الحرف الأول.

ثم ابدأ بثلاث وسيطات لـ register_post_type:

  1. عام - يعني هذا تعيين نوع المنشور بحيث يمكن للجميع الوصول إليه.
  2. الوصف - لم يتم استخدام هذا كثيرًا ولكن لا يزال من الجيد استخدامه.
  3. التسمية - هذه حجة سنتوسع فيها لاحقًا.
<?php 
  add_action( 'init', function() {
    $type = 'study';
    $label = 'Studies';
    $arguments = [
        'public' => true, // Allow access to post type
        'description' => 'Case studies for portfolio.', // Add a description
        'label' => $label // Set the primary label
    ];
    register_post_type( $type, $arguments);
  });

تأكد من مسح الروابط الثابتة الخاصة بك في كل مرة تقوم فيها بإكمال التغيير.

تخصيص تسميات نوع المنشور

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

لتجاوز التسميات الافتراضية لنوع المنشور ، ستحتاج إلى استدعاؤها يدويًا.

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

ما عليك سوى إضافة الوظيفة التالية إلى السمة الخاصة بك بحيث يمكن استخدامها في عملية تسجيل نوع المنشور:

<?php 
  function xcompile_post_type_labels($singular = 'Post', $plural = 'Posts') {
    $p_lower = strtolower($plural);
    $s_lower = strtolower($singular);

    return [
      'name' => $plural,
      'singular_name' => $singular,
      'add_new_item' => "New $singular",
      'edit_item' => "Edit $singular",
      'view_item' => "View $singular",
      'view_items' => "View $plural",
      'search_items' => "Search $plural",
      'not_found' => "No $p_lower found",
      'not_found_in_trash' => "No $p_lower found in trash",
      'parent_item_colon' => "Parent $singular",
      'all_items' => "All $plural",
      'archives' => "$singular Archives",
      'attributes' => "$singular Attributes",
      'insert_into_item' => "Insert into $s_lower",
      'uploaded_to_this_item' => "Uploaded to this $s_lower",
    ];
  }

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

<?php 
  add_action( 'init', function() {
    $type = 'study';

    // Call the function and save it to $labels
    $labels = xcompile_post_type_labels('Study', 'Studies');

    $arguments = [
      'public' => true,
      'description' => 'Case studies for portfolio.',
      'labels' => $labels // Changed to labels
    ];
    register_post_type( $type, $arguments);
  });

كيف يبدو كل شيء حتى الآن؟

رمز القائمة والموضع لأنواع المنشورات المخصصة لـ WordPress

منذ أن تم تقديم WP Dashicons ، أصبح من السهل جدًا إضافة رموز قوائم لأنواع النشر.

لتحقيق ذلك ، قم أولاً بتعيين وسيطة menu_icon على اسم Dashicon. في هذا المثال ، سنستخدم رمز مكتب الكمبيوتر باستخدام قيمة dashicons-desktop.

<?php 
  add_action( 'init', function() {
    $type = 'study';
    $labels = xcompile_post_type_labels('Study', 'Studies');

    $arguments = [
      'public' => true,
      'description' => 'Case studies for portfolio.',
      'menu_icon' => 'dashicons-desktop', // Set icon
      'labels' => $labels
    ];
    register_post_type( $type, $arguments);
  });

الآن ، إذا كنت ترغب في تغيير موقع عنصر القائمة ، فاستخدم الوسيطة menu_position. ستأخذ هذه الوسيطة قيمة تبدأ بـ 0 وتنتهي بـ 100. ستدرج القيمة المختارة عنصر قائمة أعلى أو أدنى في قاعدة القائمة ، مع وجود قيمة 0 في الأعلى و 100 في الأسفل.

الآن ، يجب أن نضيف صورة مميزة لنوع المنشور الجديد.

كيفية تمكين وتعطيل الصورة المميزة والعنوان والمحرر

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

هناك العديد من الخيارات التي يمكنك تشغيلها وإيقاف تشغيلها باستخدام وسيطة تدعم نوع المنشور. هم انهم:

  • حقل العنوان
  • محرر
  • مربع المؤلف
  • صورة مصغرة (صورة مميزة)
  • مقتطفات
  • تركبكس
  • الحقول المخصصة
  • تعليقات
  • التنقيحات
  • سمات الصفحة
  • التنسيقات اللاحقة

بالنسبة لنوع منشور الدراسة الجديد ، يمكنك تجاوز خيارات WordPress الافتراضية وإضافة صورتك المميزة عن طريق تطبيق خيار الصورة المصغرة.

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

لا يتطلب الأمر سوى بضعة أسطر إضافية من التعليمات البرمجية لاستخدام ميزة الدعم ، وستعمل على تمكين الصورة المميزة.

<?php 
  // Add theme support for featured image / thumbnails
  add_theme_support('post-thumbnails');

  add_action( 'init', function() {
    $type = 'study';
    $labels = xcompile_post_type_labels('Study', 'Studies');

    // Declare what the post type supports
    $supports = ['title', 'editor', 'revisions', 'page-attributes', 'thumbnail'];

    $arguments = [
      'supports' => $supports, // Apply supports
      'public' => true,
      'description' => 'Case studies for portfolio.',
      'menu_icon' => 'dashicons-desktop',
      'labels' => $labels,
    ];
    register_post_type( $type, $arguments);
  });

لا يتعمق الكثير من مصممي أو مطوري WordPress في أنواع منشورات WordPress المخصصة. الآن هو الوقت المناسب لتربيت على ظهرك قليلاً.

التسلسل الهرمي لأنواع منشورات WordPress المخصصة

بينما لا يمكن أن تحتوي منشورات WordPress على منشورات فرعية ، يمكن للصفحات القيام بذلك. يعتبر الطفل من الصفحة صفحة فرعية.

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

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

<?php 
  add_action( 'init', function() {
    $type = 'study';
    $labels = xcompile_post_type_labels('Study', 'Studies');

    // Declare what the post type supports
    $supports = ['title', 'editor', 'revisions', 'page-attributes', 'thumbnail'];

    $arguments = [
      'hierarchical' => false, // Do not use hierarchy
      'supports' => $supports,
      'public' => true,
      'description' => 'Case studies for portfolio.',
      'menu_icon' => 'dashicons-desktop',
      'labels' => $labels,
    ];
    register_post_type( $type, $arguments);
  });

كيفية تمكين واجهة برمجة تطبيقات REST لنوع منشور جديد

غيرت REST API WordPress إلى الأبد. على هذا النحو ، ستحتاج إلى أن يكون نوع المنشور الجديد الخاص بك قادرًا على الوصول إلى أحدث ميزات WordPress ، مثل Gutenberg.

يعد تمكين واجهة برمجة تطبيقات REST لأنواع المنشورات المخصصة الجديدة في WordPress أمرًا بسيطًا مثل تعيين وسيطة show_in_rest على القيمة true.

عند تمكين REST API ، سيبدأ نوع المنشور الجديد في استخدام Gutenberg (إذا كان يدعم المحرر أيضًا).

<?php 
  add_action( 'init', function() {
    $type = 'study';
    $labels = xcompile_post_type_labels('Study', 'Studies');

    // Declare what the post type supports
    $supports = ['title', 'editor', 'revisions', 'page-attributes', 'thumbnail'];

    $arguments = [
      'show_in_rest' => true, // Enable the REST API
      'hierarchical' => false,
      'supports' => $supports,
      'public' => true,
      'description' => 'Case studies for portfolio.',
      'menu_icon' => 'dashicons-desktop',
      'labels' => $labels,
    ];
    register_post_type( $type, $arguments);
  });

عند تمكين REST API في WordPress ، ستتمكن أيضًا من الوصول إلى نوع المنشور الجديد ككائن JSON من خلال نقاط نهاية محددة في WordPress.

لعرض نقطة النهاية لنوع المنشور REST ، استخدم هذا / wp-json / wp / v2 / study.

لتغيير الاسم الأساسي لنوع المنشور في عنوان URL إلى دراسات بدلاً من الدراسة ، استخدم وسيطة rest_base.

<?php 
  add_action( 'init', function() {
    $type = 'study';
    $labels = xcompile_post_type_labels('Study', 'Studies');

    // Declare what the post type supports
    $supports = ['title', 'editor', 'revisions', 'page-attributes', 'thumbnail'];

    $arguments = [
      'rest_base' => 'studies', // Change the REST base
      'show_in_rest' => true,
      'hierarchical' => false,
      'supports' => $supports,
      'public' => true,
      'description' => 'Case studies for portfolio.',
      'menu_icon' => 'dashicons-desktop',
      'labels' => $labels,
    ];
    register_post_type( $type, $arguments);
  });

ومثل ذلك ، تم تعيين API وتم تمكين Gutenberg في نوع المنشور.

كيفية إضافة جوتنبرج إلى أنواع منشورات ووردبريس المخصصة

تذكر أنه لا يمكن تمكين Gutenberg لأنواع المنشورات المخصصة ما لم يكن يدعم المحرر وتم تمكين REST API.

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

سنستخدم نوع منشور المقالة لتمكين Gutenberg.

<?php 
  add_action( 'init', function() {
    $type = 'article';
    $labels = xcompile_post_type_labels('Article', 'Articles');

    $arguments = [
      'rest_base' => 'articles',
      'show_in_rest' => true, // Required for Gutenberg
      'supports' => ['editor'], // Required for Gutenberg
      'public' => true,
      'description' => 'Case studies for portfolio.',
      'menu_icon' => 'dashicons-desktop',
      'labels' => $labels,
    ];
    register_post_type( $type, $arguments);
  });

ستلاحظ أن الوسيطتين اللتين تحتاج إليهما لإضافة Gutenberg هما:

'show_in_rest' => true,
'supports' => ['editor'],

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

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

يتم ذلك باستخدام الكود التالي:

<?php 
add_filter('use_block_editor_for_post_type', function($enabled, $post_type) {

  // List of post types to remove
  $remove_gutenberg_from = ['study'];

  if (in_array($post_type, $remove_gutenberg_from)) {
    return false;
  }

  return $enabled;
  }, 10, 2);

هذا يعطل جوتنبرج بالقوة من نوع المنشور.

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

تكون وظيفة تعطيل Gutenberg مفيدة أيضًا عندما يلزم الوصول إلى نوع المنشور من واجهة برمجة تطبيقات REST.

في هذه الحالات ، يكون تعطيل Gutenberg هو الاتجاه الذي تريد الذهاب إليه.

تمكين الأرشيفات وإعداد الواجهة الأمامية

لقد وصلنا أخيرًا إلى النقطة التي حان الوقت فيها لمعالجة تصميم الواجهة الأمامية لمنشورات WordPress المخصصة.

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

  1. تفعيل has_archive الوسيطة.
  2. عيّن سبيكة إعادة كتابة القواعد إلى صيغة الجمع لاسم نوع المنشور الخاص بك. في حالة مثال هذا الدليل ، يجب تغييره إلى "دراسات".
  3. امسح الروابط الثابتة الخاصة بك.
<?php 
  add_action( 'init', function() {
    $type = 'study';
    $labels = xcompile_post_type_labels('Study', 'Studies');

    // Declare what the post type supports
    $supports = ['title', 'editor', 'revisions', 'page-attributes', 'thumbnail'];

    $arguments = [
      'rewrite' => [ 'slug' => 'studies' ] // Change the archive page URL
      'has_archive' => true, // Enable archive page
      'rest_base' => 'studies',
      'show_in_rest' => true,
      'hierarchical' => false,
      'supports' => $supports,
      'public' => true,
      'description' => 'Case studies for portfolio.',
      'menu_icon' => 'dashicons-desktop',
      'labels' => $labels,
    ];
    register_post_type( $type, $arguments);
  });

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

قالب نوع المنشور المخصص لـ WordPress

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

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

يوجد ملفان محددان للقوالب يجب الانتباه إليهما ضمن التسلسل الهرمي للقالب لنوع وظيفة الدراسة الجديد.

هم انهم:

1. single-study.php - هذا للصفحة الواحدة عندما ينتقل المستخدم إلى http://yourcoolsite.com/studies/your-cool-study-post لعرض دراسة واحدة.

2. archive-study.php - هذا خاص بصفحة الأرشيف عندما ينتقل المستخدم إلى http://yourcoolsite.com/studies لعرض قائمة بجميع الدراسات.

سيستخدم WordPress افتراضيًا القوالب single.php و archive.php لموضوعك لتصميم الواجهة الأمامية لأنواع المنشورات المخصصة. ومع ذلك ، عند وجود نموذج معين لأنواع المنشورات المخصصة ، فإن single-study.php و archive-study.php سيتجاوزان الإعدادات الافتراضية في WordPress.

صفحة واحدة

نظرًا لأننا نستخدم سمة WordPress Twenty Twenty الافتراضية في هذا الدليل ، فسنحتاج أولاً إلى إنشاء اسم ملف single-study.php والعمل معه.

في ملف قالب نوع المنشور الفردي ، أضف حلقة WordPress هذه:

<?php
	/**
	 * The template for displaying single posts and pages.
	 *
	 * @link https://developer.wordpress.org/themes/basics/template-hierarchy/
	 *
	 * @package WordPress
	 * @subpackage Twenty_Twenty
	 * @since 1.0.0
	 */
	
	get_header();
	?>
	
	<main id="site-content" role="main">
	
	        <?php
	
	        if ( have_posts() ) {
	
	                while ( have_posts() ) {
	                        the_post();
	
	                }
	        }
	
	        ?>
	
	</main><!-- #site-content -->
	
	<?php get_template_part( 'template-parts/footer-menus-widgets' ); ?>
	
	<?php get_footer(); ?>

صفحة الأرشيف

تستخدم صفحة الأرشيف الخاصة بنوع المنشور نفس العملية التي استخدمتها الصفحة الواحدة. والفرق الوحيد هو أنك ستستخدم نموذج archive-study.php بدلاً من نموذج study.php المنفردة.

بالنسبة لصفحة الأرشيف الخاصة بك ، سترغب في ربطها بكل دراسة وإظهار عنوان "الدراسة" فقط.

بالطبع ، لا تتردد في الاستمتاع بهذا الكود:

<?php
  /*
  Template Name: Archive-Study
  */
  get_header(); ?>

  <div id="container">
  	<div id="content" role="main">

  		<?php the_post(); ?>
  		<h1 class="entry-title"><?php the_title(); ?></h1>
  		
  		<?php get_search_form(); ?>
  		
  		<h2>Archives by Month:</h2>
  		<ul>
  			<?php wp_get_archives('type=monthly'); ?>
  		</ul>
  		
  		<h2>Archives by Subject:</h2>
  		<ul>
  			 <?php wp_list_categories(); ?>
  		</ul>

  	</div><!-- #content -->
  </div><!-- #container -->


  <?php get_footer(); ?>

الآن بعد أن أصبحت صفحة الأرشيف في مكانها الصحيح ، يبدو أنك انتهيت. لكن ماذا يحدث إذا كان لديك مائة أو أكثر من دراسات الحالة؟

كيفية تعديل استعلام صفحة الأرشيف

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

عندما تريد إزالة الحد من صفحة الأرشيف الخاصة بك ، ما عليك سوى تعديل الاستعلام الرئيسي باستخدام الخطاف pre_get_posts.

بعد أن يتم ربطك بـ pre_get_posts ، ستتمكن من الوصول إلى كائن WP_Query الرئيسي وتعديله.

من أجل سرد جميع الدراسات على صفحة الأرشيف الخاصة بك ، ستحتاج إلى:

  1. استخدم الخطاف pre_get_posts.
  2. اكتشف ما إذا كان الأسلوب is_main_query هو ما يقوم بتشغيل الاستعلام الرئيسي.
  3. اكتشف ما إذا كنت في صفحة أرشيف الدراسة باستخدام is_post_type_archive.
  4. في WP_Query الرئيسي ، اضبط posts_per_page على -1. هذا يزيل كل حدود العدد ويسرد كل شيء.
<?php
  add_action('pre_get_posts', function( WP_Query $query ) {
    if($query->is_main_query() && $query->is_post_type_archive('study')) {
      $query->set('posts_per_page', -1);
    }
  });

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

هذا دائما مكافأة.

استخدام البرنامج المساعد لأنواع المنشورات المخصصة لـ WordPress

إذا لم تكن من النوع الذي تريد البحث في التعليمات البرمجية وتفضل إنشاء وتعديل أنواع المنشورات المخصصة باستخدام مكون إضافي ، فإن Custom Post Type UI توفر واجهة سهلة الاستخدام لتسجيل وإدارة أنواع المنشورات المخصصة (والتصنيفات).

تم تصنيف المكون الإضافي بدرجة عالية وتم تكوينه للعمل مع إصدارات WordPress 5.5 وما فوق.

تم اختباره حتى 5.6.

استخدام مولد لأنواع المنشورات المخصصة لـ WordPress

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

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

أنواع منشورات WordPress هي أفضل صديق لك

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

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

في هذه الحالات ، سيأتي BackupBuddy و iThemes Security ، وهو مكون إضافي قوي للأمان في WordPress ، إلى الإنقاذ ويعيدك بأمان إلى العمل.