カスタム投稿タイプエディタにデフォルトのコンテンツを追加する方法
公開: 2022-01-29 WordPressの投稿またはページへのコンテンツの追加に関する最後の2つのチュートリアルでは、フィルターを使用して_content関数を変更することでコンテンツを追加する方法を包括的に説明しました。 WordPressの投稿コンテンツの前後にコンテンツを追加する方法を示しました。 2番目のチュートリアルでは、WordPressエディターにデフォルトのコンテンツを追加する方法について説明しました。
 WordPressの投稿またはページへのコンテンツの追加に関する最後の2つのチュートリアルでは、フィルターを使用して_content関数を変更することでコンテンツを追加する方法を包括的に説明しました。 WordPressの投稿コンテンツの前後にコンテンツを追加する方法を示しました。 2番目のチュートリアルでは、WordPressエディターにデフォルトのコンテンツを追加する方法について説明しました。 
これらの2つの投稿から受け取ったフィードバックでは、 WordPressエディターにデフォルトのコンテンツを追加する方法と、WordPressでコンテンツを投稿した後にコンテンツを追加する方法です。 よくある質問は、カスタム投稿タイプでデフォルトのコンテンツをWordPressエディターに追加する方法でした。
カスタム投稿タイプエディタにデフォルトのコンテンツを追加する
この投稿では、この投稿で使用したフィルターを変更して、WordPressエディターにデフォルトのコンテンツを追加し、カスタム投稿タイプでも同じものを使用できるようにします。 したがって、このチュートリアルの目的は、カスタム投稿タイプエディタでデフォルトのコンテンツを追加する方法を示すことです。
WordPressのカスタム投稿タイプを使用したことがない場合、それらは基本的にデフォルトのページまたは投稿に似ていますが、自分で作成します。
このコード(下記)をWordPressテーマのfunctions.phpファイルに追加することで作成できます。また、すばらしいチュートリアルもあります。プラグインを使用せずにカスタム投稿タイプを作成する方法を説明しました。これは、ステップバイステップで簡単に実行できます。
 // Njengahチュートリアルカスタム投稿タイプの例 
  //針 
	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( 'tutorials'、 'admin menu')、
				'name_admin_bar' => _x( 'tutorial'、 '管理バーに新規追加')、
				'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'、 'revisions'、 'page-attributes'、 'custom-fields')
			); 
			register_post_type( 'tutorial'、$ args);
		
		
	}
カスタム投稿タイプの準備ができたら、前のチュートリアルで関数ファイルに追加したコードを取得して、デフォルトのコンテンツをWordPress投稿エディターに追加する必要があります。
コードはフィルターで構成され、コールバック関数にはWordPressエディターに追加する必要のあるコンテンツが含まれていました。 コードは次のとおりです。
 add_filter( 'the_content'、 'add_content_after');
関数add_content_after($ content){
     $ after_content = "投稿コンテンツ後のコメントポリシーの例";
 
     $ fullcontent = $ content。 $ after_content;
     $ fullcontentを返します。
}ステップバイステップのまとめ
手順の簡単な要約では、次の3つの手順で、デフォルトのコンテンツをカスタム投稿タイプエディタに追加します

- default_contentと、カスタム投稿エディターに追加するデフォルトのコンテンツを使用してそれぞれのコールバック関数をフィルター処理するフィルターフックを作成します。
- コールバック関数にif / else条件ステートメントを追加して、TRUE / FALSEをチェックすることにより、カスタム投稿タイプであるかどうかを判別します。
- カスタム投稿タイプを使用している場合は、ページ、投稿、その他のカスタム投稿タイプなどの他の投稿にコンテンツを追加します。 追加コンテンツなしでコンテンツを返します。
投稿タイプエディタにデフォルトのコンテンツを追加する方法
次のステップでは、コールバック関数内で、カスタム投稿タイプ画面が表示されているかどうかを確認する必要があります。表示されていない場合は、コンテンツを追加しません。
したがって、理想的には、論理条件を使用して、特定のカスタム投稿タイプを使用しているかどうかを判断します。使用している場合は、デフォルトのコンテンツをエディターに追加し、追加のコンテンツなしでデフォルトのthe_content関数を返します。
  カスタム投稿タイプかどうかを確認する方法
次の条件ステートメントを使用して、カスタム投稿タイプを使用しているかどうかを確認できます。
 $ currentID = get_the_ID();
if(get_post_type($ currentID)== "custom-post-type-slug"){
    //次にここで自分の作業を行います 
}以前に共有したコードのコールバック関数でグローバルポストオブジェクトを使用することもできます。これは次のようになります。
 function add_default_content_to_cpt($ content、$ post){
     if($ post-> post_type == 'custom-post-type-slug'
                  //次にここで自分の作業を行います
     }
}カスタム投稿タイプエディタにデフォルトのコンテンツを追加するコードスニペット
これで、デフォルトのコンテンツをカスタム投稿タイプエディタに追加するための完全なコードに、次のようなフィルタとコールバック関数が必要になります。
 add_filter( 'default_content'、 'add_default_content_to_cpt'、10、2);
function add_default_content_to_cpt($ content、$ post){
     if($ post-> post_type == 'custom-post-type-slug'){
        //カスタム投稿タイプエディタに追加するコンテンツ 
        $ new_content = 'ログインしてコメントを残してください! スパムは許可されていません。ビッグカフナが監視しています! ';
            $ fullcontent = $ content。 $ new_content;
               $ fullcontentを返します。
     	}
           $ contentを返します。 
}
custom-post-type-slugは、カスタム投稿タイプを登録するときに追加されるそれぞれのスラッグに置き換える必要があります。
このコードを関数ファイルまたはプラグインに追加すると、カスタム投稿タイプに追加されたコンテンツが表示されますが、下の画像に示すように、他の投稿エディターには表示されません。
 
まとめ
フィルタを追加することでカスタム投稿エディタにデフォルトのコンテンツを追加できます。コールバック関数で、条件付きステートメント(if / elseまたはSwitchステートメント)を含むカスタム投稿タイプであるかどうかを確認します。そうでない場合は、通常の投稿コンテンツを表示します。コンテンツを追加しました。 これは、現在のテーマのカスタム投稿タイプの下にコンテンツを追加したいWordPress開発者またはサイトにとって便利なヒントです。
同様の記事
- WooCommerceで在庫切れのテキストを変更する方法
- WooCommerceでレビューを削除または無効にする方法
- WooCommerceで価格の前にテキストを追加する方法»価格の前にテキストを追加する
- WooCommerceでプログラムでカートに商品を追加する方法
- あなたのサイト検索とSEOを改善するための30以上の最高のWordPress検索プラグイン
- WordPressにログインしていない場合にユーザーをリダイレクトする方法»ページリダイレクト
- WooCommerceストアフロントテーマ複数のカテゴリテンプレートを作成する
- 現在のWooCommerce製品カテゴリを取得する方法
- WordPressでカスタム投稿タイプを取得する方法
- プログラムで製品を作成する方法WooCommerce
- カスタム投稿タイプからコメントを削除または非表示にする方法»カスタム投稿タイプのコメントを無効にする
- プログラムでWordPressでページを作成する方法
- WooCommerce Save OrderHookの使用方法
- WooCommerceで画像の下に説明を移動する方法
- Woocommerceで注文IDを取得する方法
- デフォルトのコンテンツをWordPressPostEditorに動的に挿入する方法
- WooCommerceで価格の後に説明を追加する方法
- 4つのシンプルなオプションを備えたStorefront&Woocommerce FooterLinkで構築されたものを削除する方法
- 例を含む5つのWordPressページネーションコードスニペット[シンプルからアドバンス]
- 削除する方法がカートに追加されましたメッセージWooCommerce
