カスタム投稿タイプを有効にする方法
カスタム投稿タイプを有効にする場合は、利用中テーマのfunctions.phpに以下を記述します。
add_action( 'init', 'create_post_type' );
function create_post_type() {
register_post_type( 'news',
array(
'labels' => array(
'name' => __( '更新情報' ),
'singular_name' => __( '更新情報' )
),
'public' => true,
'menu_position' =>5,
)
);
}
各項目の設定方法など、詳しい解説は「どこでも簡単!WordPressのカスタム投稿タイプを有効にする方法」を参照してください。詳しく解説しております。
複数のカスタム投稿タイプを有効にする方法
複数のカスタム投稿タイプを設置しようとすると、上記で解説したタグを2つ設置すれば良いと考えるかと思いますが、上記のタグを2回記述しても正常に動作しません。誤った記述となりますので2回記述してしまうと、サイト自体にも管理画面にもアクセスできなくなってしまいます。
複数のカスタム投稿タイプを有効にする場合は、利用中テーマのfunctions.phpに以下の様に記述をします。
//カスタム投稿タイプの追加
add_action( 'init', 'create_post_type' );
function create_post_type() {//カスタム投稿タイプ1(ここから)
register_post_type(
'custom1',
array(
'labels' => array(
'name' => __( 'カスタム投稿タイプ1' ),
'singular_name' => __( 'カスタム投稿タイプ1' )
),
'public' => true,
'menu_position' =>5,
)
);
//カスタム投稿タイプ1(ここまで)
//カスタム投稿タイプ2(ここから)
register_post_type(
'custom2',
array(
'labels' => array(
'name' => __( 'カスタム投稿タイプ2' ),
'singular_name' => __( 'カスタム投稿タイプ2' )
),
'public' => true,
'menu_position' =>5,
)
);
//カスタム投稿タイプ2(ここまで)
}
//カスタム投稿タイプ1(ここから)
・・・
//カスタム投稿タイプ1(ここまで)
上記の部分が1つのカスタム投稿タイプを定義している部分です。
この部分を設置したいカスタム投稿の個数だけ以下の部分にコピペしてください。
//カスタム投稿タイプの追加
add_action( 'init', 'create_post_type' );
function create_post_type() {ここに必要な個数だけコピペしてください。
}
コピペするときは、分類名などを個別に定義する必要があります。
上記のコードをただコピペするだけでは正常に動作しません。
//カスタム投稿タイプ1(ここから)
register_post_type(
'custom1',
array(
'labels' => array(
'name' => __( 'カスタム投稿タイプ1' ),
'singular_name' => __( 'カスタム投稿タイプ1' )
),
'public' => true,
'menu_position' =>5,
)
);
//カスタム投稿タイプ1(ここまで)
記述するとき、以下の部分は利用目的にあった内容に変更してください。
register_post_type( 'custom1',
「custom1」の部分がカスタム投稿タイプの分類名です。上記は「custom1」としましたが、この部分は自由に変更することが可能です。目的にあった内容に変更してください。例えば、更新情報を目的としたカスタム投稿であれば「news」など。
'name' => __( 'カスタム投稿タイプ1' ),
'singular_name' => __( 'カスタム投稿タイプ1' )
「カスタム投稿タイプ1」の部分が、管理画面に表示されるメニュー名になります。
この部分も目的にあった内容に変更しておきましょう。
'menu_position' =>5,
ここの数値を変更することで、管理画面のメニューの表示位置を指定することができます。
数値を大きくする毎にメニューが下に移動します。
まとめ
複数のカスタム投稿タイプを設置する方法をまとめてみました。
カスタム投稿タイプを有効にするコードを2回記述するだけでは正常に動作しません。
私も最初はこれをやって管理画面を真っ白にしてしまいました。
ちょっと調べたら解決方法が分かったので、私のメモも兼ねて今回まとめた次第です。
コメントを残す