วิธีลบหรือซ่อนความคิดเห็นจากประเภทโพสต์ที่กำหนดเอง » ปิดใช้งานความคิดเห็นในประเภทโพสต์ที่กำหนดเอง
เผยแพร่แล้ว: 2020-01-31
คุณกำลังมองหาวิธีที่ดีที่สุดในการซ่อนความคิดเห็นจากประเภทโพสต์ที่กำหนดเองหรือลบความคิดเห็นออกจากประเภทโพสต์ที่กำหนดเองทั้งหมดหรือไม่ หากคุณทำเช่นนั้น วิธีแก้ไขจะอยู่ที่วิธีการลงทะเบียนประเภทโพสต์แบบกำหนดเอง ตามหลักการแล้วประเภทโพสต์ที่กำหนดเองนั้นเหมือนกับหน้าและโพสต์และจะสืบทอดคุณลักษณะทั้งหมดของหน้าและโพสต์หากคุณอนุญาตให้มีคุณสมบัติเหล่านี้
แม้ว่าคุณจะสามารถควบคุมวิธีที่ประเภทโพสต์แบบกำหนดเองสนับสนุนคุณลักษณะต่างๆ ได้ แต่อาจเป็นเรื่องยากที่จะควบคุมคุณลักษณะที่สนับสนุนโดยประเภทโพสต์ที่กำหนดเองในปลั๊กอินของบุคคลที่สามหรือธีมของคุณที่ใช้ประเภทโพสต์ที่กำหนดเอง
ด้วยเหตุนี้ จึงจำเป็นต้องเรียนรู้วิธีลบความคิดเห็นหรือคุณลักษณะอื่นๆ ที่ได้รับการสนับสนุนโดยประเภทโพสต์ที่กำหนดเองซึ่งคุณไม่ต้องการให้บนเว็บไซต์ของคุณ
นี่จะเป็นกระบวนการไม่กี่ขั้นตอนที่ตรงไปตรงมามาก เนื่องจากมีฟังก์ชันใน WordPress เพื่อช่วยคุณในการลบคุณลักษณะของประเภทโพสต์แบบกำหนดเองที่คุณไม่ต้องการ
ซ่อนความคิดเห็นเกี่ยวกับประเภทโพสต์ที่กำหนดเอง
ตามที่ระบุไว้ข้างต้น หากต้องการลบความคิดเห็นออกจากประเภทโพสต์ที่กำหนดเองได้สำเร็จ คุณต้องเข้าใจว่ามีการลงทะเบียนประเภทโพสต์แบบกำหนดเองอย่างไร และบทแนะนำเกี่ยวกับ วิธีลงทะเบียนประเภทโพสต์ที่กำหนดเองโดยไม่ต้องใช้ปลั๊กอิน เป็นจุดเริ่มต้นที่ดี
คุณยังสามารถคัดลอกโค้ดต่อไปนี้ไปยังไฟล์ functions.php ของธีมของคุณเพื่อลงทะเบียนประเภทโพสต์แบบกำหนดเองที่คุณสามารถใช้เพื่อทดสอบวิธีลบความคิดเห็นออกจากประเภทโพสต์ที่กำหนดเอง:
/**
* ประเภทโพสต์ที่กำหนดเอง - register_post_type()
* @description- Njengah Tutorial ตัวอย่างประเภทโพสต์ที่กำหนดเอง
* @link -https://gist.github.com/Njengah/839466b773085ac2430772e081357cee
*
*/
add_action('init', "njengah_tutorial_cpt");
ฟังก์ชัน njengah_tutorial_cpt(){
$labels = อาร์เรย์ (
'name' => _x('Tutorials', 'ประเภทโพสต์ชื่อทั่วไป'),
'singular_name' => _x('Tutorial', 'โพสต์ชื่อเอกพจน์'),
'menu_name' => _x('บทแนะนำ', 'เมนูผู้ดูแลระบบ'),
'name_admin_bar' => _x('Tutorial', 'เพิ่มใหม่ในแถบผู้ดูแลระบบ'),
'add_new' => _x('เพิ่มใหม่', ''),
'add_new_item' => __('เพิ่มบทช่วยสอนใหม่'),
'edit_item' => __('แก้ไขบทช่วยสอน'),
'new_item' => __('บทแนะนำใหม่'),
'all_items' => __('บทแนะนำทั้งหมด'),
'view_item' => __('ดูบทช่วยสอน'),
'search_items' => __('Search Tutorials'),
'not_found' => __('ไม่พบบทช่วยสอน'),
'not_found_in_trash' => __('ไม่พบบทช่วยสอนในถังขยะ'),
'parent_item_colon' => __('บทแนะนำสำหรับผู้ปกครอง:'),
);
$args = อาร์เรย์ (
'ลำดับชั้น' => จริง
'labels' => $labels,
'สาธารณะ' => จริง
'publicly_queryable' => จริง
'คำอธิบาย' => __('คำอธิบาย.'),
'show_ui' => จริง
'show_in_menu' => จริง,
'show_in_nav_menus' => จริง
'query_var' => จริง
'เขียนใหม่' => จริง
'query_var' => จริง
'rewrite' => array('slug' => 'tutorial'),
'capability_type' => 'หน้า',
'has_archive' => จริง
'menu_position' => 22,
"show_in_rest" => จริง
'supports' => array( 'title', 'editor', 'author', 'thumbnail', 'comments', 'revisions', 'page-attributes', 'custom-fields' )
);
register_post_type('บทช่วยสอน', $args);
}หากคุณดูโค้ดนั้นอย่างระมัดระวัง จะมีบรรทัดสำคัญที่อยู่ในอาร์เรย์ $args ซึ่งมีคีย์ - 'supports' จะใช้อาร์เรย์ที่มีค่าหลายค่าที่แสดงคุณลักษณะที่สนับสนุนโดยประเภทโพสต์ที่กำหนดเองดังที่แสดงบนรูปภาพ ด้านล่าง :


เมื่อค่าความคิดเห็นนี้อยู่ในอาร์เรย์นั้น ก็หมายความว่าความคิดเห็นได้รับการสนับสนุนโดยประเภทโพสต์ที่กำหนดเอง และความคิดเห็นเหล่านั้นจะปรากฏในโปรแกรมแก้ไขโพสต์ที่กำหนดเองตามที่แสดงในประเภทโพสต์ที่กำหนดเองสำหรับบทช่วยสอนนี้:

คุณสามารถลบ 'ความคิดเห็น' นั้นออกจากรหัสการลงทะเบียนประเภทโพสต์ที่กำหนดเองได้ และคุณจะ ลงทะเบียนประเภทโพสต์ที่กำหนดเอง โดยไม่ได้รับการสนับสนุนจากความคิดเห็น
วิธีลบความคิดเห็นออกจากประเภทโพสต์ที่กำหนดเอง
เนื่องจากคุณไม่สามารถควบคุมประเภทโพสต์แบบกำหนดเองทั้งหมดที่ลงทะเบียนบนเว็บไซต์ของคุณโดยปลั๊กอินหรือธีมอื่น คุณจึงสามารถลบความคิดเห็นเกี่ยวกับประเภทโพสต์ที่กำหนดเองได้โดยใช้ตัวเลือกการลบที่ WordPress ให้ไว้
ฟังก์ชัน WP: remove_post_type_support()
ตัวเลือกนี้อยู่ในรูปของฟังก์ชัน – remove_post_type_support() ซึ่งจะลบการสนับสนุนคุณลักษณะต่างๆ สำหรับประเภทโพสต์ที่กำหนดเองบางประเภท
นิพจน์รหัสทั่วไปสำหรับฟังก์ชันนี้มีดังต่อไปนี้:
remove_post_type_support( string $post_type, string $feature )
ดังที่คุณเห็นแล้วว่าต้องใช้พารามิเตอร์สองตัวและเป็นทั้งสตริงและพารามิเตอร์มีดังนี้:
| พารามิเตอร์ | คำอธิบาย |
| $post_type | นี่คือประเภทโพสต์แบบกำหนดเองที่เราตั้งใจจะลบความคิดเห็นหรือคุณสมบัติอื่นใดที่ได้รับการสนับสนุนโดยประเภทโพสต์แบบกำหนดเองที่เราต้องการลบ |
| $feature | นี่คือคุณลักษณะของประเภทโพสต์แบบกำหนดเองที่เราต้องการลบ ตัวอย่างเช่น ในกรณีนี้; เราต้องการลบคุณลักษณะ 'ความคิดเห็น' |
ในการลบความคิดเห็นเหล่านี้ออกจากประเภทโพสต์ที่กำหนดเอง เราสามารถเขียน action hook ที่เกี่ยวโยงกับ 'init' และในฟังก์ชัน callback เราเรียกใช้ฟังก์ชัน remove_post_type_support() ที่เราจะส่งพารามิเตอร์ที่เกี่ยวข้อง
ต่อไปนี้เป็นรหัสที่คุณสามารถใช้เพื่อลบความคิดเห็นจากประเภทโพสต์ที่กำหนดเองชื่อ 'กวดวิชา'
/**
* ลบบทแนะนำประเภทโพสต์ที่กำหนดเอง ความคิดเห็น
*/
add_action( 'init', 'remove_custom_post_type_comments' );
ฟังก์ชั่น remove_custom_post_type_comments () {
remove_post_type_support( 'บทช่วยสอน', 'ความคิดเห็น' );
}
ควรเพิ่มรหัสนี้ในไฟล์ functions.php และคุณจะลบความคิดเห็นประเภทโพสต์ที่กำหนดเองได้สำเร็จดังที่แสดงในภาพด้านล่าง:

บทสรุป
เมื่อคุณต้องการซ่อนความคิดเห็นประเภทโพสต์ที่กำหนดเอง คุณไม่จำเป็นต้องรวมการสนับสนุนความคิดเห็นเมื่อคุณลงทะเบียนประเภทโพสต์ที่กำหนดเอง
อีกทางหนึ่ง หากคุณกำลังจัดการกับประเภทโพสต์แบบกำหนดเองที่มีอยู่ และคุณต้องการลบความคิดเห็นออกจากประเภทโพสต์แบบกำหนดเองเหล่านี้ คุณควรใช้ remove_post_type_support() function ซึ่งจะลบคุณลักษณะอื่นๆ ออกจากประเภทโพสต์ที่กำหนดเองด้วย
คุณยังสามารถใช้วิธีนี้เพื่อลบบทวิจารณ์ออกจากผลิตภัณฑ์ WooCommerce เนื่องจากผลิตภัณฑ์นั้นเป็นประเภทโพสต์ที่กำหนดเอง และบทวิจารณ์จะเทียบเท่ากับความคิดเห็นในโพสต์ WordPress เริ่มต้น
