MENU

create_initial_taxonomies()

create_initial_taxonomies() は、WordPress のデフォルトタクソノミー(分類機能)である カテゴリー (category)タグ (post_tag) を初期登録するための関数です。

これにより投稿に対してカテゴリーとタグが使用できるようになります。WordPress の起動時に自動的に実行されるため、通常は開発者が直接使用することはありません。

目次

基本構文

create_initial_taxonomies();

この関数は通常 init アクションフックの中で WordPress コアにより呼び出されます。

引き数と戻り値

項目内容
引き数なし
戻り値なし(void

使用例

タグを使った使用例

WordPress の起動プロセスの一部で自動的に呼び出されますが、再登録したい場合などで使用できます。

add_action( 'init', function() {
    create_initial_taxonomies(); // 通常は不要、再登録したいときのみ
});

このコードは、init フックでカテゴリーやタグの登録を再実行します。ただし、通常のサイト運用では不要です。

注意点

  • 通常のテーマやプラグイン開発で直接使用することは推奨されません
  • カスタムタクソノミーは register_taxonomy() を使って別途定義します。
  • 無闇に再登録すると予期しないタクソノミーのリセットやラベルの上書きが起こる可能性があります。

よく一緒に使われる関数

register_taxonomy()

カスタムタクソノミーを追加するための関数。

register_taxonomy( 'genre', 'post', [
    'label' => 'ジャンル',
    'public' => true,
] );

register_taxonomy_for_object_type()

既存のタクソノミーを別の投稿タイプに関連付ける。

register_taxonomy_for_object_type( 'category', 'page' );

get_taxonomies()

登録されているタクソノミー一覧を取得する関数。

$taxonomies = get_taxonomies();

想定されるトラブル

カスタムタクソノミーが登録されない

init フックのタイミング前に register_taxonomy() を呼び出していると反映されない。

解決方法

init フックの中でタクソノミーを登録するようにコードを修正。

デフォルトタクソノミーがリセットされる

create_initial_taxonomies() を誤って複数回呼び出したり、他のタクソノミーと競合した場合にラベルや構成が書き換わる可能性がある。

解決方法

この関数は基本的にコア任せとし、自分で呼び出さないようにする。

Q&A

create_initial_taxonomies() で登録されるタクソノミーは?

category(カテゴリー)と post_tag(タグ)の2つです。

カスタム投稿タイプにもカテゴリを使いたいときは?

register_taxonomy_for_object_type() を使って追加できます。

register_taxonomy() とどう違うの?

create_initial_taxonomies() は WordPress コアによる内部登録、register_taxonomy() は開発者が独自に登録する際に使用します。

まとめ

create_initial_taxonomies() は、WordPress の基本機能である「カテゴリー」と「タグ」を初期登録するための重要な関数です。

開発者が通常触れることはありませんが、内部的にどのように分類が初期化されているのかを理解する上では重要です。タクソノミーを拡張・追加したい場合は register_taxonomy() を使用するのが正しい方法です。

よかったらシェアしてね!
  • URLをコピーしました!

コメント

コメントする

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

目次