WordPressのデフォルトの投稿タイプでは『投稿(post)』がありますが、自分で新しい投稿タイプを作成したものを『カスタム投稿タイプ』と言います。
お知らせ、スタッフ紹介、商品紹介、店舗、などにカスタム投稿タイプを使ったりします。
そこで今回は、カスタム投稿タイプを作成して行こうと思います。
目次
今回は「ニュース(news)」しました。
function.php
function add_custom_post_type(){
register_post_type(
'news', // 投稿タイプ名
array( // オプション
'label' => 'ニュース', // 投稿タイプの名前
'public' => true, // ダッシュボードに表示するとともに、要求があったときにサイトのコンテンツとして表示されるようにするかどうか
'has_archive' => true, // アーカイブページを表示したい場合有効にする
'menu_position' => 5, // ダッシュボードのメニューでの表示位置を指定
'menu_icon' => 'dashicons-edit', // ダッシュボードのアイコンを変えることが出来ます
'supports' => array( 'title','editor','thumbnail') // ダッシュボードの編集画面で使用する項目を指定します。
)
);
}
add_action('init', 'add_custom_post_type');
ダッシュボードで表示されるカスタム投稿タイプの名前です。
英語の場合は、複数形を指定。
ダッシュボードに表示するとともに、要求があったときにサイトのコンテンツとして表示されるようにするかどうか。
サイト内検索の結果にも含まれます。
下記の2つに該当する場合はtrue。
・パーマリンク設定がデフォルト以外の場合
・アーカイブページを表示したい場合
下記、メニューでの表示位置です。
・「投稿」の下:5
・「メディア」の下:10
・「固定ページ」の下:20
ダッシュボードのアイコンの一覧はこちら
ダッシュボードの編集画面で使用する項目を指定。
・title:タイトル
・editor:本文のエディタ
・author:作成者
・thumbnail:アイキャッチ画像
・excerpt:抜粋
・trackbacks:トラックバック送信
・custom-fields:カスタムフィールド
・comments:ディスカッション
・revisions:リビジョン
・page-attributes:属性(親・順序)
function.php
function add_custom_taxonomy(){
// カテゴリーの作成
register_taxonomy(
'news-cat', // タクソノミーの名前
'news', // 利用する投稿タイプ
array( // オプション
'label' => 'カテゴリー', // タクソノミーの表示名
'hierarchical' => true, // 階層を持たせるかどうか
'public' => true, // 利用する場合はtrue
)
);
// タグの作成
register_taxonomy(
'news-tag', // タクソノミーの名前
'news', // 利用する投稿タイプ
array( // オプション
'label' => 'タグ', // タクソノミーの表示名
'hierarchical' => false, // 階層を持たせるかどうか
'public' => true, // 利用する場合はtrue
)
);
}
add_action('init', 'add_custom_taxonomy');
以上の記述で、「ニュース」という、カスタム投稿タイプがダッシュボードに追加されます。