wordpressのカスタム投稿タイプをプラグインを使用せずfunctionからコードを書いて実装する方法を解説します
functionに記載するコード
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
function create_post_type() { $labels = array( 'name' => 'カスタムページ', // 管理画面の左サイドバーに表示されるテキスト 'singular_name' => ('カスタムページ'),// 管理画面の左サイドバーに表示されるテキスト(単数系) 'all_items' => ("記事一覧"),// 記事一欄(左サイドバー)に表示されるタイトル 'add_new' => ('新記事を追加')//新記事追加に表示されるテキスト ); $Supportcustom = array (// 投稿画面で表示される項目の設定 'labels' => $labels, 'public' => true, 'has_archive' => true, 'menu_position' => 5,//項目を表示する位置 'capability_type' => 'post',//権限タイプ 'supports' => array('title','editor','thumbnail','custom-fields',"excerpt") ); register_post_type('custom',$Supportcustom); // URLになる部分 }; |
解説
1 2 3 4 5 6 |
$labels = array( 'name' => 'カスタムページ', // 管理画面の左サイドバーに表示されるテキスト 'singular_name' => ('カスタムページ(一覧ページ)'),// 管理画面の左サイドバーに表示されるテキスト(単数系) 'all_items' => ("記事一覧"),// 記事一覧(左サイドバー)に表示されるタイトル 'add_new' => ('新記事を追加')//新記事追加に表示されるテキスト ); |
上記のコードでページのタイトルなどを定義します。
1 |
'name' => 'カスタムページ', // 管理画面の左サイドバーに表示されるテキスト |
『カスタムページ』に入力した文字列はwordpress管理画面の左サイドバーに表示されます。
1 |
'singular_name' => ('カスタムページ'),// 管理画面の左サイドバーに表示されるテキスト(単数系) |
‘name’と同じで大丈夫です。
1 |
'all_items' => ("記事一覧"),// 記事一覧(左サイドバー)に表示されるタイトル |
記事一覧ページのタイトルです。記事一覧としておけば問題ないでしょう。
1 |
'add_new' => ('新記事を追加')//新記事追加に表示されるテキスト |
新記事追加ページのタイトルです。新記事を追加としておけば問題ないでしょう。
1 2 3 4 5 6 7 8 |
$Supportcustom = array ( 'labels' => $labels, 'public' => true,//公開するかどうか 'has_archive' => true,//アーカイブを有効にするかどうか 'menu_position' => 5,//項目を表示する位置 'capability_type' => 'post',//権限タイプ 'supports' => array('title','editor','thumbnail','custom-fields',"excerpt") ); |
上記のコードでページの設定を定義しています。
1 |
'labels' => $labels, |
ラベルの設定をします。
1 |
'public' => true,//公開するかどうか |
記事を公開するかどうかを設定します。trueで公開、falseで非公開になります。
1 |
'has_archive' => true,//アーカイブを有効にするかどうか |
アーカイブページを有効にするかを設定します。trueで有効、falseで無効です。
1 |
'menu_position' => 5,//項目を表示する位置 |
項目を左サイドバーのどこに表示するか設定をします。
既存のメニューの位置番号です。
5 | 投稿 |
10 | メディア |
15 | リンク |
20 | 固定ページ |
25 | コメント |
65 | プラグイン |
70 | ユーザー |
75 | ツール |
80 | 設定 |
もし、今回のようにmenu_positionを5にすると、投稿と被ります。
その場合、投稿の下に表示されます。
1 |
'capability_type' => 'post',//権限タイプ |
記事のタイプを設定します。
postとすると投稿として扱われ、pageとすると固定ページとして扱われます。
1 |
'supports' => array('title','editor','thumbnail','custom-fields',"excerpt") |
記事編集ページ内に表示するパーツを設定します。
title | タイトル |
editor | エディター |
thumbnail | アイキャッチ画像 |
custom-fields | カスタムフィールド |
excerpt | 抜粋 |
他にも設定することのできるパーツはあるのでググってみてください。
ここでは最低限必要と思われるものを表示しています。
1 |
register_post_type('custom',$Supportcustom); // URLになる部分 |
設定は完了しました。こちらのコードで設定を反映させます。
第一引数『custom』の部分でシステム内で使用するこのカスタム投稿タイプの名前とURLの名前を設定します。
第二引数に設定を定義します。
まとめ
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
function create_post_type() { $labels = array( 'name' => 'example', // 管理画面の左メニューに表示されるテキスト 'singular_name' => ('example'), 'all_items' => ("記事一覧"),// 管理画面の左メニューの下層に表示されるテキスト 'add_new' => ('新記事を追加') ); $Supportcustom = array (// 投稿画面で表示される項目の設定 'labels' => $labels, 'public' => true,//公開するかどうか 'has_archive' => true,//アーカイブを有効にするかどうか 'menu_position' => 5,//項目を表示する位置 'capability_type' => 'post',//権限タイプ 'supports' => array('title','editor','thumbnail','custom-fields',"excerpt") ); register_post_type('example',$Supportcustom); // URLになる部分 } |
基本的に上記のコードをコピペで実装可能です。
基本的に変更する部分はexampleとなっている部分になります。
これでカスタム投稿タイプをwordpress内に設置することができます。
投稿方法は通常の投稿と同じです。
ですがこれだけでは投稿した記事を表示することはできません。
お次は投稿した記事を一覧表示させてみましょう。
コメント