カスタム投稿タイプとは?WordPressには、更新コンテンツを一覧管理できる項目として、「投稿」と「固定ページ」の2つが用意されています。ただのブログならば十分ですが、WordPressをCSMとしてWebサイトを構築しようと思うと不十分です。一般的なWebサイトには、ブログの他に、ニュースやフォトギャラリー、FAQなど、様々は更新コンテンツが考えられ、投稿タイプも様々だからです。初期状態でも、カテゴリーで投稿タイプを分けて管理することはできますが、やはり投稿タイプが異なる記事はそれぞれ一覧管理できた方が便利です。それを実現するのが、「カスタム投稿タイプ」という機能です。導入された「カスタム投稿タイプ」を使えば、自由に投稿タイプを追加できるようになります。「更新履歴」という投稿タイプを追加すると、管理画面のサイドメニューに「更新履歴」専用の投稿メニューが設置されます。UIこのプラグインを使うと、簡単にカスタム投稿タイプを追加することが出来ます。Types」というメニューが追加されます。New今回は、左側半分だけを使います。右側の「カスタム分類作成」は使いません。カスタム投稿タイプの名前。カスタム投稿タイプのラベル。管理画面のサイドメニューのところに表示されるラベルです。カスタム投稿タイプの名前の単数形。日本語では単数形と複数形を区別することはないので関係ありません。なにか書いておきたければどうぞ。Type」ボタンを押せば、カスタム投稿タイプが追加されます。Options」から、オプション設定をすることができます。特筆すべきは、以下の2項目です。管理画面のサイドメニューでの表示位置を決める変数です。一般的には「5」になるかと思います。投稿画面に表示する項目を限定することができます。不要な項目のチェックは外しておくといいでしょう。以下のコードを記述することで、カスタム投稿タイプを導入することができます。カスタム投稿タイプを表示する通常のループ処理に、「特定のカスタム投稿タイプ」という条件を追加します。最後に生成したループをリセットするのを忘れないようにしましょう。違い以上、「カスタム投稿タイプ」を使うことで、ブログや固定ページだけではなく、ニュースやフォトギャラリー、FAQなど、様々は投稿タイプを別々に管理、投稿できたり、最適な方法で自由に表示させることが出来るようになります。カスタム投稿タイプとカスタムフィールドを組み合わせるこのカスタム投稿タイプと、前回解説したカスタムフィールドを組み合わせると、いよいよWordPressをCMSとしてWebサイトを構築できそうな気配がしてきます。サンプルとして、トップページの記事一覧の上に、更新履歴を5件表示させるようにしてみましょう。「news」という投稿タイプ専用のカスタムフィールドテンプレートを作成します。(カンマ区切り):」の欄に「news」と入力します。することによって、このカスタムフィールドテンプレートは、「news(更新履歴)」の投稿欄でのみ使用可能になります。テンプレートの設定は以下のようにします。更新履歴の投稿画面はこうなりました。値を以下のように設定します。以下のコードを追加して、更新履歴を表示してみましょう。?>いかがでしょうか?WordPressは、もはやただのブログツールではないのです。カスタム投稿タイプとカスタムフィールドを組み合わて応用すれば、CMSとして本格的なWebサイトの構築も可能なのです。すごく参考になっています。Jinjing1025さん表示させたいページのテンプレートに記述すればOKですよ。home.phpでもpage.phpでもなんでも。カスタムループを生成しているので、どのテンプレートに記述しても問題ありません。さんありがとうございましたーーー。残念ながら、管理画面が開けなくなってしまいました。register_post_type(‘gallery’,$args);)と追記)ちなみに、後に追記した方のコードを削除することで元に戻りました。複数のカスタム投稿タイプを表示させるにはどのようなコードを(更新履歴に関するコードを追記した後にさらに)追加すればよろしいのでしょうか?よろしくお願いします。さんカスタム投稿タイプを複数設置する場合は、以下のようにすれば良いです。PMhijiriさん、どうもありがとうございました。〜(省略)〜ということは確かに考えていました。誰が投稿画面を操作しても誤入力がないように完全な投稿フォームにしたかったので、タイトルを非表示にして入力フォーム内にタイトルに該当する箇所を埋め込みたかったのと1対1となる専用の入力フォームを完璧に実装させたかったんです。(理由1:デフォルトの状態だと、タイトル欄が未入力だと”タイトルを入力してください”と表示されてしまい、できればこの箇所を商品一覧のカスタム投稿の場合は、”商品名を入力してください”と設定し、実際に入力したものが、ページタイトルになるようにしたかったのです。私のスキルを遥かに超えたものが実装できたので、本当に助かりました。カスタム投稿タイプとカスタムフィールドの組み合わせによる実践的な内容については、あとでまとめて記事にさせてもらいます。ことですので、公開される日を楽しみにしております。さん参考になれば幸いです。さんが思い描いていらっしゃる完成形を実装するには、独自プラグイン開発レベルの高度な技術が必要になります。その点については、別途機会があれば解説したいと思いますので、お待ち下さいませ。PMhijiriさん、すごいです。本当にありがとうございます。タイトル非表示という質問に関して、とても細かく丁寧に解説してもらいとても感謝しています。カスタムフィールドテンプレートで複数選択のプルダウンが表示されるのは、複数テンプレートが存在する場合とありますが、複数あるテンプレートの中で、これだというものを指定して表示させることはできないものでしょうか?前回も完成イメージの話をさせていただきましたが、私としては左メニューのカスタム投稿タイプとして「商品一覧」「メンバー一覧」などを設置し、それぞれの投稿タイプの投稿画面で特定のテンプレートがプルダウン無しで表示できればと思っています。text)が実装され、そこに入力したものがその記事のタイトルとして、一覧やページに表示されればと思っています。本当にわかりやすい解説なのでぜひおしえていただければと思います。同じように悩んでいるひとも多いと思うので、ぜひお願いします。取得した値を”タイトルとして見せる”かの違いだけかと思われます。投稿一覧画面での表示も同様に、カラム名(上記コードでは「更新日」)を「タイトル」に変更すればよいです。(カンマ区切り):」から設定してください。1つのカスタム投稿タイプのみを指定すれば、それ専用になります。1対1で専用にした場合でも、プラグイン全体として複数のテンプレートが用意されている場合は、項目1つのプルダウン表示がされるのはプラグインの仕様のようです。*今回ご質問いただいた、カスタム投稿タイプとカスタムフィールドの組み合わせによる実践的な内容については、あとでまとめて記事にさせてもらいます。最下部に追記しています。私がイメージしていた完成図は、このページ内にあるこの画像のように「新規の履歴投稿画面」で、タイトル(title)と本文欄(editor)が表示されず、カスタムフィールドテンプレートを一番上に表示されることでした。array(‘title’,’editor’)を編集することで、どちらか一方を非表示にすることはできましたが両方非表示や、カスタムフィールドテンプレートを上位表示させることができなかったため、思い悩んでいました。(カンマ区切り):」の欄に「news」と設定しているにもかかわらず、プルダウンメニューが表示され、その他のテンプレートが選択できてしまう状況になっています。hijiriさんの検証結果では正常表示されたとのことですが何か考えられる原因やヒントはありませんでしょうか?よろしくお願いいたします。さん質問の意図を勘違いしておりました。オプションの値を以下のようすれはOKです。「タイトル」を非表示にしたいと思いますので、以下のコードを追加します。);さらに、投稿一覧にカスタムフィールドの項目を追加する場合、以下のコードを追加します。サンプルのようにフィールド名が「date」のままだと、ディフォルトの「日付」と重複してしまいますので、「news_date」に変更しています。2);・管理画面の投稿一覧のカスタマイズについては、こちらそれから、カスタムフィールドテンプレートで複数選択のプルダウンが表示されるのは、複数テンプレートが存在する場合ですので、プラグインの設定画面から、ディフォルトのテンプレートなどが設定されていないか確認してみてください。ありがたいと思いつつ、意気揚々とトライしてみました。Elevenの「functions.php」に追記することでサイドメニューに「更新履歴」を表示させることができました。「テンプレートコンテンツ」も本サイトの指南通りに設定しました。更新履歴の投稿画面がデフォルトの「投稿」と変わらない状態となっています。以下のコードを追加して、更新履歴を表示してみましょう。いう文章の下に表示されているコード全文をコピーして上書きして保存しました。試したのですが、解決できないので質問させていただきました。ご教示いただけますでしょうか。さんご質問いただいた件について、同様の手順で検証を行いました。こちらでは問題なく機能しております。検証時のキャプチャ画像をご確認ください。これを一番上などに追記すると動きません。