【 WordPress 】 "カスタム投稿タイプ" 名前がややこしいだけだったので解説! 投資家のFIREへの旅路 ♯405
WordPressの機能のひとつとして「カスタム投稿タイプ」というものがあります。
名前は知っていて、なんとなく何ができるのかは知っているけど、なんだかややこしいそう。
しかも、別に使わなくてもなんとかなるので、今まで導入してこなかったのですが、時間があったので、学習してみると、
簡単&便利だったので、解説します!
【 カスタム投稿タイプ 】
▶︎ 投稿タイプとは?
管理画面のサイドバーの、「投稿」が、
WordPressに初めから設定されている標準の「投稿タイプ」となります。
上の画像では、「投稿」の他に、本来はない「ニュース」という項目が出ていますね。
これが「カスタム投稿タイプ」になります。
【 カスタム投稿タイプの設定 】
カスタム投稿タイプを作るには、
functions.phpのファイルに下記のコードを入れるだけです。
/**カスタム投稿タイプ */
add_action('init',function(){
register_post_type('news',[
'label' => 'ニュース', /**カスタム投稿タイプの名前 */
'public'=> true, /**カスタム投稿タイプを表示させる */
'menu_position'=> 4, /**カスタム投稿タイプのサイドバーの位置 (任意) */
'supports' => ['thumbnail','title','editor'],/**カスタム投稿タイプのページの編集画面に表示させる項目 */
]);
});
▶︎ コード解説
add_action('init',function(){
・
・
・
});
こちらのコードは、定型文のようなものです。コピペでOKです。
register_post_type('news',[
・
・
・
]);
こちらのコードで、カスタム投稿タイプの名前を決めるという認識です。
'news' というカスタム投稿タイプを追加するという意味合いになります。
register_post_type('news',[
'label' => 'ニュース', /**カスタム投稿タイプの名前 */
'public'=> true, /**カスタム投稿タイプを表示させる */
'menu_position'=> 4, /**カスタム投稿タイプのサイドバーの位置 (任意) */
'supports' => ['thumbnail','title','editor'],/**カスタム投稿タイプのページの編集画面に表示させる項目 */
]);
'news' に続いて大括弧[ ]が登場します。
この大括弧の中で、'news'の内容を、設定します。
この設定内容は、多数あるのですが、全てを使う必要はなく、上記の項目でも十分です。
'label' => 'ニュース', /**カスタム投稿タイプの名前 */
'public'=> true, /**カスタム投稿タイプを表示させる */
最低限必要なのは、この2つです。
'label' => 'ニュース'と書いた場合、管理画面のサイドバーに「ニュース」と表示されます。
'public' => 'true' とすると、サイドバーに今回作成したカスタム投稿タイプの「ニュース」の項目が表示されます。
これを書かないと、表示されません。
【 カスタム投稿タイプで投稿する 】
カスタム投稿タイプを使っての投稿は、既存の投稿と同じです。
管理画面のサイドバーに追加された、カスタム投稿タイプから、新規追加して、記事を書きましょう。
【 single-カスタム投稿タイプ名.php 】
カスタム投稿タイプの投稿内容の表示は、
今回のように、'news'というカスタム投稿タイプを作った場合、
「single-news.php」という名前のファイルを作ることで、news専用のページのレイアウト作ることができます。
※ 注意 ※
上記のように、single-news.phpを追加した場合、そのままサイトを表示して、ニュース記事をクリックしても、single-news.phpを読み込んでくれません。
管理画面の、
設定 → パーマリンク → (何もせずに)変更を保存をクリック!
とすると、single-news.phpを読み込むようになります。
【 まとめ 】
カスタム投稿タイプについて書きました。
今回は、「ニュース」というカスタム投稿タイプを作りましたが、
例えば、本の一覧のカスタム投稿タイプを作るのであれば、
カスタム投稿タイプの名前を'book'とし、
'label' => '本の一覧' とするだけです。
ネーミングは、自由ですから、わかりやすいものを設定し、自由にカスタムしましょう!!
この記事が気に入ったらサポートをしてみませんか?