วิธีลบหรือซ่อนความคิดเห็นจากประเภทโพสต์ที่กำหนดเอง » ปิดใช้งานความคิดเห็นในประเภทโพสต์ที่กำหนดเอง

เผยแพร่แล้ว: 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 เริ่มต้น