1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

タクソノミーって聞きなれん言葉やねぇ。WordPressで分類する仕組みを最小構成で理解する

1
Last updated at Posted at 2025-09-22

最小構成で理解する「カスタム投稿タイプ」と「タクソノミー」(WordPress)

WordPressのコードを見ていると、register_post_type()register_taxonomy() なんて書いてあって、カスタム投稿タイプやタクソノミーなんてコメントが…

カスタム投稿はなんとなく想像できるけど、タクソノミーって何なん?
ということで、その辺りについて調べてみました。

最小構成のコードでお送りいたします。


カスタム投稿タイプとは?

WordPressにはもともと「投稿(post)」という機能があります。これは主にブログ記事を書くためのものです。

でも、ブログ以外にも「イベント情報をまとめたい」「レシピを投稿したい」など、用途に応じて投稿タイプを分けたいことがあります。

そんなときに使うのが カスタム投稿タイプ(Custom Post Type) です。


コード例(最小構成)

function Event_init() {
    register_post_type('event', [
        'label' => 'Events',
        'public' => true,
        'has_archive' => true,
        'rewrite' => ['slug' => 'event'],
        'show_in_rest' => true,
        'supports' => ['title', 'editor', 'thumbnail'],
    ]);
}
add_action('init', 'Event_init');
パラメータ 説明
label 管理画面のメニュー名(通常は複数形)
public 公開される投稿タイプかどうか(trueで管理画面にも表示される)
has_archive アーカイブページ(一覧ページ)を有効にするか
rewrite パーマリンクのスラッグを指定(例:example.com/event/)
show_in_rest ブロックエディタ(Gutenberg)対応
supports 投稿画面で使う機能(タイトル・本文・アイキャッチなど)

💡 menu_position => 5 を追加すると、「投稿」のすぐ下に表示されるようになるのでおすすめです。

register_post_type.png

その他いろいろ設定できるので、詳しくは 公式ドキュメント をご覧あれ。


タクソノミーとは?

タクソノミー(taxonomy)は、WordPressでコンテンツを分類するための仕組みです。

WordPressにはデフォルトで以下の2つのタクソノミーがあります:

  • category:階層あり(例:朝食、ランチ、ディナー)
  • post_tag:階層なし(例:チョコレート、生姜、鶏肉)

さらに、独自の分類法(カスタムタクソノミー)を作ることもできます。


コード例(最小構成)

function register_event_taxonomy() {
    register_taxonomy('event_category', 'event', [
        'label' => 'Event Category',
        'hierarchical' => true,
    ]);
}
add_action('init', 'register_event_taxonomy');
パラメータ 説明
event_category タクソノミーのスラッグ(識別名)
event 紐づける投稿タイプ(ここでは event
label 管理画面で表示される名前
hierarchical 階層あり(カテゴリー型)にするかどうか

register_taxonomy1.png

↑のコード例では、画像のようなEvent Categoryが登録されました。

公式ドキュメント


💡 補足:投稿した記事が表示されないときは?

追加したカスタム投稿タイプに記事を投稿したあと、URLにアクセスしても「ページが見つかりませんでした」と表示されることがあります。

これは パーマリンク設定がまだ反映されていないことが原因です。

解決方法

  1. WordPress管理画面 → 「設定」→「パーマリンク」
  2. 何も変更せずに「変更を保存」

これでURLルールが再生成され、カスタム投稿タイプのページが正しく表示されるようになります。


※ 時に一回で反映されないことがあるので、上手く行かない時はもう一度「変更を保存」してみてください。

💡 補足:追加した投稿タイプの一覧ページはどうやって見るの?

カスタム投稿タイプ event を作成すると、WordPressは自動的に /event/ という一覧ページを生成します。

投稿した記事の一覧は、example.com/event/のような形になっているはずです。

もしアドレスがわからない場合は、投稿したカスタム投稿を「表示」してみてください。ブラウザのアドレス欄に表示されるURLから、一覧ページのパスを推測できます。

※ テーマによっては一覧ページ用のテンプレートが必要になることもあります(archive-event.phpなど)


wordpressってPHPで動いてるとは言うけどwordpressやねぇ。

とは言え、書くだけで独自の投稿タイプやカテゴリーが簡単に追加できちゃうのは便利なもんです。

ほんとに書くだけなので、カスタムしたことない人も良かったらやってみてね。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?