カスタム投稿タイプからコメントを削除または非表示にする方法»カスタム投稿タイプのコメントを無効にする

公開: 2020-01-31

カスタム投稿タイプからコメントを削除する方法 カスタム投稿タイプからコメントを非表示にする、またはカスタム投稿タイプからコメントを完全に削除するための最良の方法をお探しですか? その場合、解決策はカスタム投稿タイプを登録する方法にあります。 理想的には、カスタム投稿タイプはページや投稿のようなものであり、これらの機能を許可すれば、ページや投稿のすべての特性を継承します。

カスタム投稿タイプがさまざまな機能をサポートする方法を制御することはできますが、サードパーティのプラグインまたはカスタム投稿タイプを利用するテーマでカスタム投稿タイプがサポートする機能を制御するのは難しい場合があります。

このため、Webサイトで不要なカスタム投稿タイプでサポートされているコメントやその他の機能を削除する方法を学ぶ必要があります。

WordPressには、不要なカスタム投稿タイプの機能を削除するのに役立つ機能があるため、これは非常に簡単な数ステップのプロセスになります。

カスタム投稿タイプへのコメントを非表示

上記のように、カスタム投稿タイプからコメントを正常に削除するには、カスタム投稿タイプがどのように登録されるかを理解する必要があります。プラグインを使用せずにカスタム投稿タイプを登録する方法のチュートリアルから始めることをお勧めします。

次のコードをテーマのfunctions.phpファイルにコピーして、カスタム投稿タイプを登録し、カスタム投稿タイプからコメントを削除する方法をテストすることもできます。

 / **
  *カスタム投稿タイプ-register_post_type()
  * @ description-Njengahチュートリアルカスタム投稿タイプの例 
  * @link -https://gist.github.com/Njengah/839466b773085ac2430772e081357cee
  *
  * / 


	add_action( 'init'、 "njengah_tutorial_cpt");
  
  
	関数njengah_tutorial_cpt(){
		
		$ labels = array(
				'name' => _x( 'Tutorials'、 'post type general name')、
				'singular_name' => _x( 'Tutorial'、 'post type singular name')、
				'menu_name' => _x( 'チュートリアル'、 '管理者メニュー')、
				'name_admin_bar' => _x( 'チュートリアル'、 '管理バーに新規追加')、
				'add_new' => _x( 'Add New'、 '')、
				'add_new_item' => __( '新しいチュートリアルを追加')、
				'edit_item' => __( 'チュートリアルの編集')、
				'new_item' => __( '新しいチュートリアル')、
				'all_items' => __( 'すべてのチュートリアル')、
				'view_item' => __( 'チュートリアルの表示')、
				'search_items' => __( '検索チュートリアル')、
				'not_found' => __( 'チュートリアルが見つかりません')、
				'not_found_in_trash' => __( 'ゴミ箱にチュートリアルが見つかりません')、 
				'parent_item_colon' => __( '親チュートリアル:')、
				
		);

			$ args = array(
				'hierarchical' => true、     
				'labels' => $ labels、
				'public' => true、
				'publicly_queryable' => true、  
				'description' => __( 'Description。')、
				'show_ui' => true、 
				'show_in_menu' => true、
				'show_in_nav_menus' => true、			
				'query_var' => true、
				'rewrite' => true、
				'query_var' => true、
				'rewrite' => array( 'slug' => 'tutorial')、
				'capability_type' => 'ページ'、
				'has_archive' => true、 
				'menu_position' => 22、
				"show_in_rest" => true、
				'supports' => array( 'title'、 'editor'、 'author'、 'thumbnail'、 'comments'、 'revisions'、 'page-attributes'、 'custom-fields')
			); 

			register_post_type( 'tutorial'、$ args);
		
		
	}

そのコードを注意深く見ると、キーを持つ$ args配列に重要な行があります–'supports 'これは、画像に示されているように、カスタム投稿タイプでサポートされる機能を表すいくつかの値を持つ配列を取ります下 :

カスタム投稿タイプからコメントを削除する方法

このコメント値がその配列にある場合、それは単にコメントがカスタム投稿タイプによってサポートされていることを意味し、この特定のチュートリアルカスタム投稿タイプに示されているようにカスタム投稿エディターに表示されます。

カスタム投稿タイプからコメントを削除する方法

このカスタム投稿タイプ登録コードからその「コメント」を削除するだけで、コメントのサポートなしでカスタム投稿タイプを登録できます。

カスタム投稿タイプからコメントを削除する方法

他のプラグインやテーマによってサイトに登録されているすべてのカスタム投稿タイプを制御できるわけではないため、WordPressが提供する削除オプションを使用してカスタム投稿タイプのコメントを削除できます。

WP関数:remove_post_type_support()

このオプションは関数の形式です– remove_post_type_support()は、特定のカスタム投稿タイプのさまざまな機能のサポートを削除するだけです。

この関数の一般的なコード式は次のとおりです。

remove_post_type_support( string $post_type, string $feature )

ご覧のとおり、2つのパラメーターが必要であり、どちらも文字列であり、パラメーターは次のとおりです。

パラメータ説明
$ post_type これは、コメントまたは削除するカスタム投稿タイプでサポートされているその他の機能を削除するカスタム投稿タイプです。
$ feature これは、削除するカスタム投稿タイプの機能です。 たとえば、この場合、 「コメント」機能を削除します。

カスタム投稿タイプからこれらのコメントを削除するために、「init」をフックするアクションフックを記述し、コールバック関数でremove_post_type_support()関数を実行して、それぞれのパラメーターを渡します。

以下は、「tutorial」という名前のカスタム投稿タイプからコメントを削除するために使用できるコードです。

 / **
 *チュートリアルのカスタム投稿タイプのコメントを削除
 * / 

add_action( 'init'、 'remove_custom_post_type_comments');

関数remove_custom_post_type_comments(){
    remove_post_type_support( 'チュートリアル'、 'コメント');
}

このコードをfunctions.phpファイルに追加すると、次の画像に示すように、カスタム投稿タイプのコメントが正常に削除されます。

カスタム投稿タイプへのコメントを非表示

結論

カスタム投稿タイプのコメントを非表示にする場合、カスタム投稿タイプを登録するときにコメントのサポートを含める必要はありません。

または、既存のカスタム投稿タイプを扱っていて、これらのカスタム投稿タイプからコメントを削除したい場合。 カスタム投稿タイプから他の機能も削除するremove_post_type_support() functionを使用する必要があります。

製品はカスタム投稿タイプであり、レビューはデフォルトのWordPress投稿のコメントと同等であるため、このアプローチを使用してWooCommerce製品からレビューを削除することもできます。