Jak usunąć lub ukryć komentarze w niestandardowym typie postów » Wyłącz komentarze w niestandardowych typach postów

Opublikowany: 2020-01-31

Jak usunąć komentarze z niestandardowego typu postu Szukasz najlepszego sposobu na ukrycie komentarzy z niestandardowych typów postów lub całkowite usunięcie komentarzy z niestandardowych typów postów? Jeśli to zrobisz, rozwiązanie polega na tym, jak zarejestrować niestandardowy typ posta. Idealnie, niestandardowe typy postów są jak strona i post i dziedziczą wszystkie cechy stron i postów, jeśli pozwolisz im mieć te funkcje.

Chociaż możesz kontrolować, w jaki sposób niestandardowe typy postów obsługują różne funkcje, może być trudno kontrolować funkcje obsługiwane przez niestandardowe typy postów we wtyczkach innych firm lub motyw, który wykorzystuje niestandardowe typy postów.

Z tego powodu konieczne jest, aby dowiedzieć się, jak usunąć komentarze lub inne funkcje obsługiwane przez niestandardowe typy postów, których nie chcesz w swojej witrynie.

Będzie to bardzo prosty proces składający się z kilku kroków, ponieważ WordPress istnieje funkcja, która pomoże ci usunąć funkcje niestandardowego typu postu, których nie chcesz.

Ukryj komentarze na temat niestandardowych typów postów

Jak wspomniano powyżej, aby pomyślnie usunąć komentarze z niestandardowych typów postów, musisz zrozumieć, w jaki sposób rejestrowane są niestandardowe typy postów, a samouczek dotyczący rejestrowania niestandardowego typu postu bez użycia wtyczki jest dobrym miejscem do rozpoczęcia.

Możesz również skopiować następujący kod do pliku functions.php motywu, aby zarejestrować niestandardowy typ posta, którego możesz użyć do przetestowania usuwania komentarzy z niestandardowych typów postów:

 /**
  * Niestandardowy typ posta - register_post_type()
  * @description- Njengah Tutorial Przykład niestandardowego typu posta 
  * @link -https://gist.github.com/Njengah/839466b773085ac2430772e081357cee
  *
  */ 


	add_action('init', "njengah_tutorial_cpt");
  
  
	funkcja njengah_tutorial_cpt(){
		
		$etykiety = tablica(
				'name' => _x('Samouczki', 'nazwa ogólna typu posta'),
				'singular_name' => _x('Tutorial', 'typ posta w liczbie pojedynczej'),
				'menu_name' => _x('Samouczki', 'menu administratora'),
				'name_admin_bar' => _x('Tutorial', 'dodaj nowy na pasku administracyjnym'),
				'add_new' => _x('Dodaj nowy', ''),
				'add_new_item' => __('Dodaj nowy samouczek'),
				'edit_item' => __('Edytuj samouczek'),
				'new_item' => __('Nowy samouczek'),
				'all_items' => __('Wszystkie samouczki'),
				'view_item' => __('Wyświetl samouczek'),
				'search_items' => __('Poradniki wyszukiwania'),
				'not_found' => __('Nie znaleziono samouczków'),
				'not_found_in_trash' => __('Nie znaleziono samouczków w Koszu'), 
				'parent_item_colon' => __('Samouczki dla rodziców:'),
				
		);

			$argumenty = tablica(
				'hierarchiczny' => prawda,     
				'etykiety' => $etykiety,
				'publiczny' => prawda,
				'publicly_queryable' => prawda,  
				'opis' => __('Opis.'),
				'show_ui' => prawda, 
				'show_in_menu' => prawda,
				'show_in_nav_menus' => prawda,			
				'query_var' => prawda,
				'przepisz' => prawda,
				'query_var' => prawda,
				'rewrite' => array('slug' => 'tutorial'),
				'capability_type' => 'strona',
				'has_archive' => prawda, 
				'pozycja_menu' => 22,
				"show_in_rest" => prawda,
				'obsługuje' => array( 'tytuł', 'redaktor', 'autor', 'miniaturka', 'komentarze', 'poprawki', 'atrybuty-stron', 'niestandardowe-pola' )
			); 

			register_post_type('samouczek', $args);
		
		
	}

Jeśli uważnie przyjrzysz się temu kodowi, znajdziesz ważny wiersz, który znajduje się w tablicy $args , która ma klucz – 'supports' to przyjmuje tablicę z kilkoma wartościami, która reprezentuje funkcje obsługiwane przez niestandardowy typ postu, jak pokazano na obrazku poniżej :

Jak usunąć komentarze z niestandardowego typu postu

Gdy ta wartość komentarzy znajduje się w tej tablicy, oznacza to po prostu, że komentarze są obsługiwane przez niestandardowy typ postu i będą widoczne w niestandardowym edytorze postów, jak pokazano w tym konkretnym samouczku typu posta niestandardowego:

Jak usunąć komentarze z niestandardowego typu postu

Możesz po prostu usunąć te „komentarze” z tego niestandardowego kodu rejestracyjnego typów postów, a zarejestrujesz niestandardowy typ postów bez obsługi komentarzy.

Jak usunąć komentarze z niestandardowych typów postów

Ponieważ możesz nie kontrolować wszystkich niestandardowych typów postów zarejestrowanych w Twojej witrynie przez inne wtyczki lub motywy, możesz usunąć komentarze do niestandardowych typów postów za pomocą opcji usuwania udostępnionej przez WordPress.

Funkcja WP: remove_post_type_support()

Ta opcja ma postać funkcji – remove_post_type_support(), która po prostu usuwa obsługę różnych funkcji dla określonego niestandardowego typu posta.

Ogólne wyrażenie kodu dla tej funkcji jest następujące:

remove_post_type_support( string $post_type, string $feature )

Jak widać, przyjmuje dwa parametry i oba są łańcuchami, a parametry są następujące:

Parametr Opis
$post_type Jest to niestandardowy typ posta, z którego zamierzamy usunąć komentarze lub jakąkolwiek inną funkcję obsługiwaną przez niestandardowy typ posta, który chcemy usunąć.
$funkcja Jest to funkcja niestandardowego typu posta, którą chcemy usunąć. Na przykład w tym przypadku; chcemy usunąć funkcję „komentarze”.

Aby usunąć te komentarze z niestandardowego typu postu, możemy teraz napisać hak akcji, który przechwytuje 'init', a w funkcji zwrotnej uruchamiamy funkcję remove_post_type_support(), w której przekażemy odpowiednie parametry.

Poniżej znajduje się kod, którego możesz użyć, aby usunąć komentarz z niestandardowego typu posta o nazwie „tutorial”

 /**
 * Usuń samouczek Niestandardowe komentarze typu post
 */ 

add_action( 'init', 'remove_custom_post_type_comments' );

funkcja remove_custom_post_type_comments() {
    remove_post_type_support( 'samouczek', 'komentarze' );
}

Ten kod powinien zostać dodany do pliku functions.php i pomyślnie usuniesz niestandardowe komentarze typu post, jak pokazano na poniższym obrazku:

Ukryj komentarze na temat niestandardowych typów postów

Wniosek

Jeśli chcesz ukryć niestandardowe komentarze typu postu, nie musisz uwzględniać obsługi komentarzy podczas rejestrowania niestandardowego typu postu.

Alternatywnie, jeśli masz do czynienia z istniejącymi niestandardowymi typami postów i chcesz usunąć komentarze z tych niestandardowych typów postów; powinieneś skorzystać z funkcji remove_post_type_support() function która usuwa również inne funkcje z niestandardowego typu postu.

Możesz również użyć tego podejścia do usuwania recenzji z produktów WooCommerce, ponieważ produkt jest niestandardowym typem posta, a recenzje są równoważne z komentarzami w domyślnym poście WordPress.