functions.phpでカスタム投稿を追加する方法

最低限の記述は以下になります。

function add_custom_post() {
    register_post_type('news', array(
        'label' => '新着情報',
        'public' => true,
        'supports' => array(
            'title', 
            'editor'
        )
    )); 
}
add_action('init', 'add_custom_post');

この中で、編集するのは2行目の「news」と3行目の「新着情報」の部分です。ここを必要な記述に変えます。(2行目はデータベース保存やURLなどに使うので必ず半角英数、3行目は表示用なので自由です、ざっくり言うと。)

管理画面の表示をカスタマイズしたい場合にはもう少し記述が必要です。

function add_custom_post() {
    register_post_type('news', array(
        'label' => '新着情報',
        'menu_position' => 5,
        'public' => true,
        'supports' => array(
            'title', 
            'editor',
            'author',
            'thumbnail',
            'excerpt',
            'trackbacks',
            'custom-fields',
            'comments'
        ),
        'has_archive' => true,
        'rewrite' => array(
            'slug' => 'news', 
            'with_front' => false)
    )); 
}
add_action('init', 'add_custom_post');

各パラメーターについての説明は以下になります。

menu_position
管理画面の左メニューの位置です。数値が小さいほど上に配置されます。

public
カスタム投稿をサイト及び管理画面に表示する設定です。デフォルトではfalseになっており、ここをtrueと記述しないと表示されません。

supports
新規入力及び編集画面に表示する項目です。詳細は以下。

  • title:タイトル
  • editor:本文
  • author:投稿者
  • thumbnail:アイキャッチ画像
  • excerpt:抜粋
  • trackbacks:トラックバック
  • custom-fields:カスタムフィールド
  • comments:コメント等の許可

has_archive
アーカイブを持つかどうかです。

rewrite
パーマリンクを変更することが出来ます。「slug」を変更するとURLも変更されます。「with_front」はWordPressデフォルトのパーマリンク設定の影響を受けるかどうかです。falseにすると影響を受けなくなります。

これでとりあえずカスタム投稿が管理画面に追加出来るはず。更にサイトに表示するためにはPHPを別に記述する必要がありますが、これはまた別記事で。

スポンサードリンク

twitterまたはFacebookでもコメントして頂けます