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()
は、WordPress の基本機能である「カテゴリー」と「タグ」を初期登録するための重要な関数です。
開発者が通常触れることはありませんが、内部的にどのように分類が初期化されているのかを理解する上では重要です。タクソノミーを拡張・追加したい場合は register_taxonomy()
を使用するのが正しい方法です。
コメント