カスタム投稿タイプてなに?
一番初期の段階で左メニューの一番上に投稿ってありますよね
これが投稿タイプですが最初の段階では1つしかありません。
これを別途追加して作れるのです!これがカスタム投稿です。
投稿タイプってなんぞ?
投稿タイプでは普段ブログの記事の執筆や
お知らせなどを記載していくと思います。
それだけでは足りない場合や混同してしまって不便なので、
別途カスタム投稿で増やしてあげます。
よくあるカスタム投稿タイプの仕様
私がよく使用するパターンですが
デフォルトの「投稿タイプ」の「投稿」は会社のお知らせなどに使います
カスタム投稿タイプを「4つ」追加して
- ブログ
- 制作実例
- 商品(サービス一覧)
- お客様の声
などを別途で用意して構成してます。
カスタム投稿の追加の仕方
使っているテーマの中にfunctions.phpに直接書いていきます。
FTPからでも管理画面の中からでもどちらでも編集可能ですが
管理画面から行っていきましょう。
ダッシュボード⇒外観⇒【テーマエディタ】を開いて
funstions.phpを探して編集します。なければ作りましょう。
編集内容は以下になります
<?php
function new_register_blog() { //
$labels = [
"singular_name" => "blog",
"edit_item" => "blog",
];
$args = [
"label" => "ブログ", //管理画面に出てくる名前
"labels" => $labels,
"description" => "",
"public" => true,
"show_in_rest" => true,
"rest_base" => "",
"rest_controller_class" => "WP_REST_Posts_Controller",
"has_archive" => true,
"delete_with_user" => false,
"exclude_from_search" => false,
"map_meta_cap" => true,
"hierarchical" => true,
"rewrite" => [ "slug" => "ブログ", "with_front" => true ],
"query_var" => true,
"menu_position" => 5,
"supports" => [ "title", "editor", "thumbnail" ],
];
register_post_type( "blog", $args );
}
add_action( 'init', 'new_register_blog' );
これで「ブログ」(blog)というカスタム投稿が可能となりました!
ですが、カテゴリーやタグなどが使えないのでブログ的にはカテゴリーは使いたいですね。ということで
カスタム投稿にカテゴリーを追加する
functions.phpにこちらもカテゴリーを使えるように追記します。
function new_register_cat() { //add_actionの2つのパラメーターを定義
$labels = [
"singular_name" => "cat",
];
$args = [
"label" => "カテゴリー",
"labels" => $labels,
"publicly_queryable" => true,
"hierarchical" => true,
"show_in_menu" => true,
"query_var" => true,
"rewrite" => [ 'slug' => 'cat', 'with_front' => true, ],
"show_admin_column" => false,
"show_in_rest" => true,
"rest_base" => "dep",
"rest_controller_class" => "WP_REST_Terms_Controller",
"show_in_quick_edit" => false,
];
register_taxonomy( "cat", [ "blog" ], $args ); //「blog」というカスタム投稿タイプにカテゴリーを追加
}
add_action( 'init', 'new_register_cat' );
これでカスタム投稿のブログの中にカテゴリーを使えるようになります。
カスタム投稿を固定ページに出力する
別記事にて記載しましたのでそちらをご参照下さい
合わせて読みたい
- お仕事のご依頼やお問い合わせはフォームやツイッターにてお気軽にお問い合わせ下さい。
- お問い合わせフォーム
- » 高橋しゃちょー (@osaka_dos) | Twitter