目次
タクソノミーとは
タクソノミーとは、カスタム分類のことをいいます。
カスタム投稿タイプには、デフォルトで準備されている「投稿」みたいに、カテゴリーやタグの項目は予め準備されていません。
そこで、今回ご紹介する「タクソノミー」がその代わりになります。
※正確には異なりますが、分かりやすく言うと、「タクソノミー」は「カテゴリー」や「タグ」と同じと理解して頂いたらいいと思います。
カスタム投稿タイプにタクソノミーを追加
カスタム投稿タイプについての記事は、下記記事で解説していますので、気になる方はご覧ください。当記事では、タクソノミーについてのみ解説します。
カスタム投稿を自作する方法【プラグインなし】
【カスタム投稿タイプとは】 カスタム投稿タイプとは、その名のとおり、投稿タイプをカスタムできる機能です。 WordPressの初期設定時には、ブログ記事を書くための「投…
※より細かな設定を施したい場合は、公式リファレンスをご覧ください。
公式リファレンス
下記コードを「functions.php」に、まるっとコピペして実装してみましょう。
///////////////////まるっとコピペOK///////////////////
add_action('init', 'create_post_type');
function create_post_type()
{
//投稿時に使用できる投稿用のパーツを指定
$supports = array(
'title', //タイトルフォーム
'editor', //エディター(内容の編集)
'thumbnail', //アイキャッチ画像
'author', //投稿者
'excerpt', //抜粋
'revisions', //リビジョンを保存
);
register_post_type(
'sample',
[ // 投稿タイプ名の定義
'labels' => [
'name' => 'サンプル投稿', // 管理画面上で表示する投稿タイプ名
'add_new' => '新規追加', // 新規追加のラベル
// 'add_new_item' => 'サンプル投稿新規登録', // 編集画面ラベル(新規登録時)
// 'edit_item' => 'サンプル投稿編集', //編集画面ラベル(既存投稿編集時)
// 'menu_name' => 'サンプル投稿', //管理画面メニュー(親ラベル)
// 'all_items' => 'サンプル投稿', //管理画面メニュー(一覧ラベル)
// 'search_items' => 'サンプル投稿を検索' , //検索フォームボタンラベル
// 'singular_name' => 'サンプル投稿識別名', // カスタム投稿の識別名
],
'public' => true, // カスタム投稿タイプの表示(trueにする)
'has_archive' => true, // カスタム投稿一覧(true:表示/false:非表示)
'menu_position' => 5, // 管理画面上での表示位置
'show_in_rest' => false, // true:「Gutenberg」/ false:「ClassicEditor」
'supports' => $supports
]
);
}
add_action('init', 'create_taxonomy');
function create_taxonomy()
{
//タクソノミー
register_taxonomy(
'sample_taxonomy', //タクソノミー名
'sample', //紐付けるカスタム投稿タイプ名
array(
'label' => 'タクソノミー', //ラベル
'labels' => array(
'add_new_item' => 'タクソノミーを追加', //追加ボタンラベル
'search_items' => 'タクソノミーを検索' , //検索フォームボタンラベル
),
'public' => true, //パブリックに公開するか
'show_ui' => true, //管理画面に表示可否(trueにしておく)
'show_in_nav_menus' => true, //ナビゲーションメニューでこのタクソノミーを選択可(true)/不可(false)
'hierarchical' => true //true:階層あり / false:階層なし
)
);
}
サンプル投稿というカスタム投稿タイプに「タクソノミー」の項目が追加されます。
カスタムフィールドを自作する方法【プラグインなし】
【カスタムフィールドとは】 カスタムフィールドとは、「タイトル」や「本文」以外に、任意で自作フォームを作成できる機能のことをいいます。 【カスタムフィールドを…