كيفية إزالة أو إخفاء التعليقات من نوع المنشور المخصص »تعطيل التعليقات في أنواع المنشورات المخصصة
نشرت: 2020-01-31هل تبحث عن أفضل طريقة لإخفاء التعليقات من أنواع المنشورات المخصصة أو إزالة التعليقات من أنواع المنشورات المخصصة تمامًا؟ إذا قمت بذلك ، فإن الحل يكمن في كيفية تسجيل نوع منشور مخصص. من الناحية المثالية ، تكون أنواع المنشورات المخصصة مثل الصفحة والمنشور وترث جميع خصائص الصفحات والمشاركات إذا سمحت لها بالحصول على هذه الميزات.
بينما يمكنك التحكم في كيفية دعم أنواع المنشورات المخصصة لميزات مختلفة ، فقد يكون من الصعب التحكم في الميزات التي تدعمها أنواع المنشورات المخصصة في المكونات الإضافية لجهات خارجية أو قالبك الذي يستخدم أنواع المنشورات المخصصة.
لهذا السبب ، من الضروري معرفة كيفية إزالة التعليقات أو الميزات الأخرى التي تدعمها أنواع المنشورات المخصصة التي لا تريدها على موقع الويب الخاص بك.
ستكون هذه عملية خطوات بسيطة للغاية نظرًا لوجود وظيفة في WordPress لمساعدتك في إزالة ميزات نوع المنشور المخصص الذي لا تريده.
إخفاء التعليقات على أنواع المنشورات المخصصة
كما هو مذكور أعلاه ، لإزالة التعليقات بنجاح من أنواع المنشورات المخصصة ، تحتاج إلى فهم كيفية تسجيل أنواع المنشورات المخصصة ، ويعد البرنامج التعليمي حول كيفية تسجيل نوع منشور مخصص دون استخدام مكون إضافي مكانًا جيدًا للبدء.
يمكنك أيضًا نسخ الكود التالي إلى ملف jobs.php الخاص بالقالب لتسجيل نوع منشور مخصص يمكنك استخدامه لاختبار كيفية إزالة التعليقات من أنواع المنشورات المخصصة:
/ ** * نوع المنشور المخصص - register_post_type () * @ description- مثال على نوع المنشور المخصص لبرنامج Njengah التعليمي * @ link -https: //gist.github.com/Njengah/839466b773085ac2430772e081357cee * * / add_action ('init'، "njengah_tutorial_cpt")؛ الوظيفة njengah_tutorial_cpt () { تسميات $ = مجموعة ( 'name' => _x ('دروس'، 'اسم عام لنوع المنشور')، 'singular_name' => _x ('البرنامج التعليمي'، 'اسم المفرد لنوع المنشور') ، 'menu_name' => _x ('البرامج التعليمية' ، 'قائمة المسؤول') ، 'name_admin_bar' => _x ('البرنامج التعليمي'، 'إضافة جديد في شريط الإدارة') ، 'add_new' => _x ('إضافة جديد'، ')، 'add_new_item' => __ ('إضافة برنامج تعليمي جديد') ، 'edit_item' => __ ('تحرير البرنامج التعليمي')، 'new_item' => __ ('برنامج تعليمي جديد') ، 'all_items' => __ ('كل البرنامج التعليمي') ، 'view_item' => __ ('عرض البرنامج التعليمي')، 'search_items' => __ ('بحث في البرامج التعليمية') ، 'not_found' => __ ("لم يتم العثور على برامج تعليمية") ، 'not_found_in_trash' => __ ("لم يتم العثور على برامج تعليمية في المهملات") ، 'parent_item_colon' => __ ('دروس الوالدين:') ، ) ؛ $ args = مجموعة ( "هرمي" => صحيح ، "labels" => تسميات $ ، 'public' => صحيح ، 'public_queryable' => صحيح ، "الوصف" => __ ("الوصف") ، 'show_ui' => صحيح ، 'show_in_menu' => صحيح ، 'show_in_nav_menus' => صحيح ، 'query_var' => صحيح ، "إعادة الكتابة" => صحيح ، 'query_var' => صحيح ، 'إعادة الكتابة' => مجموعة ('slug' => 'تعليمي') ، "النوع_القدرة" => "الصفحة" ، 'has_archive' => صحيح ، "menu_position" => 22 ، "show_in_rest" => صحيح ، 'يدعم' => مجموعة ('العنوان' ، 'محرر' ، 'المؤلف' ، 'الصورة المصغرة' ، 'التعليقات' ، 'المراجعات' ، 'سمات الصفحة' ، 'الحقول المخصصة') ) ؛ register_post_type ('تعليمي'، $ args) ؛ }
إذا نظرت بعناية إلى هذا الرمز ، فهناك سطر مهم موجود في المصفوفة $ args والذي يحتوي على المفتاح - "يدعم" هذا يأخذ مصفوفة بها عدة قيم تمثل الميزات التي يدعمها نوع المنشور المخصص كما هو موضح في الصورة أقل :
عندما تكون قيمة التعليقات هذه في تلك المصفوفة ، فهذا يعني ببساطة أن التعليقات مدعومة بنوع المنشور المخصص وسيتم عرضها على محرر النشر المخصص كما هو موضح في نوع المنشور المخصص المخصص لهذا البرنامج التعليمي:
يمكنك ببساطة إزالة هذه "التعليقات" من رمز تسجيل أنواع المنشورات المخصصة وسوف تقوم بتسجيل نوع المنشور المخصص دون دعم التعليقات.
كيفية إزالة التعليقات من أنواع المنشورات المخصصة
نظرًا لأنه لا يمكنك التحكم في جميع أنواع المنشورات المخصصة المسجلة على موقعك بواسطة مكونات إضافية أو سمات أخرى ، يمكنك إزالة التعليقات على أنواع المنشورات المخصصة باستخدام خيار الإزالة الذي يوفره WordPress.
وظيفة WP: remove_post_type_support ()
هذا الخيار في شكل وظيفة - remove_post_type_support () التي تزيل ببساطة دعم الميزات المختلفة لنوع منشور مخصص معين.
يكون تعبير الكود العام لهذه الوظيفة كما يلي:
remove_post_type_support( string $post_type, string $feature )
كما ترى ، يتطلب الأمر معلمتين وهما سلاسل والمعلمات كالتالي:
معامل | وصف |
$ post_type | هذا هو نوع المنشور المخصص الذي ننوي إزالة التعليقات منه أو أي ميزة أخرى يدعمها نوع المنشور المخصص الذي نريد إزالته. |
ميزة $ | هذه هي ميزة نوع المنشور المخصص الذي نريد إزالته. على سبيل المثال ، في هذه الحالة ؛ نريد إزالة ميزة "التعليقات". |
لإزالة هذه التعليقات من نوع المنشور المخصص ، يمكننا الآن كتابة خطاف إجراء يتم ربطه بـ "init" وفي وظيفة رد الاتصال ، نقوم بتشغيل وظيفة remove_post_type_support () حيث سنمرر المعلمات المعنية.
فيما يلي الكود الذي يمكنك استخدامه لإزالة التعليق من نوع المنشور المخصص المسمى "البرنامج التعليمي"
/ ** * إزالة تعليقات نوع المنشور المخصص للبرنامج التعليمي * / add_action ('init'، 'remove_custom_post_type_comments') ؛ الوظيفة remove_custom_post_type_comments () { remove_post_type_support ('تعليمي'، 'تعليقات') ؛ }
يجب إضافة هذا الرمز إلى ملف jobs.php وستقوم بنجاح بإزالة تعليقات نوع المنشور المخصص كما هو موضح في الصورة أدناه:
استنتاج
عندما تريد إخفاء تعليقات نوع المنشور المخصص ، لا يتعين عليك تضمين دعم التعليقات عند تسجيل نوع المنشور المخصص.
بدلاً من ذلك ، إذا كنت تتعامل مع أنواع المنشورات المخصصة الحالية وتريد إزالة التعليقات من أنواع المنشورات المخصصة هذه ؛ يجب عليك الاستفادة من remove_post_type_support() function
التي تزيل أيضًا ميزات أخرى من نوع منشور مخصص.
يمكنك أيضًا استخدام هذا الأسلوب لإزالة المراجعات من منتجات WooCommerce نظرًا لأن المنتج هو نوع منشور مخصص والمراجعات تعادل التعليقات في منشور WordPress الافتراضي.