WordPressでは、投稿を「カテゴリー」や「タグ」で分類することができます。これらの分類方法を「タクソノミー」と呼びます。通常、WordPressには「カテゴリー」と「タグ」という2種類のタクソノミーがデフォルトで用意されていますが、自分で独自の分類方法を追加することもできます。これを「カスタムタクソノミー」と言います。
たとえば、映画レビューサイトを運営している場合、「ジャンル」(アクション、ドラマ、コメディなど)や「監督名」など、特定の投稿をより細かく分類するためにカスタムタクソノミーを作成することができます。
カスタムタクソノミーを作成する理由
カスタムタクソノミーを使うことで、サイトの内容をより細かく分類できるようになります。これにより、ユーザーが必要な情報を簡単に見つけやすくなり、SEOの観点からも効果的です。特に、特定の業界やテーマに特化したウェブサイトでは、カスタムタクソノミーを使用して内容を整理することで、ユーザーエクスペリエンスを向上させることができます。
カスタムタクソノミーの作成方法
WordPressでカスタムタクソノミーを作成するには、functions.php
ファイルにコードを追加する方法が一般的です。以下に、カスタムタクソノミーを作成するための基本的なコードを紹介します。
例: 「ジャンル」というカスタムタクソノミーを作成する
function create_genre_taxonomy() {
$labels = array(
'name' => 'ジャンル',
'singular_name' => 'ジャンル',
'search_items' => 'ジャンルを検索',
'all_items' => 'すべてのジャンル',
'parent_item' => '親ジャンル',
'parent_item_colon' => '親ジャンル:',
'edit_item' => 'ジャンルを編集',
'update_item' => 'ジャンルを更新',
'add_new_item' => '新しいジャンルを追加',
'new_item_name' => '新しいジャンルの名前',
'menu_name' => 'ジャンル',
);
$args = array(
'hierarchical' => true, // true にするとカテゴリーのように階層構造が可能になります
'labels' => $labels,
'show_ui' => true,
'show_admin_column' => true,
'query_var' => true,
'rewrite' => array('slug' => 'genre'), // URLスラッグを指定
);
register_taxonomy('genre', array('post'), $args);
}
add_action('init', 'create_genre_taxonomy', 0);
コードの説明
$labels
: 管理画面に表示されるラベル(名称やメニュー名など)を設定します。$args
: カスタムタクソノミーの動作を設定するためのオプションです。hierarchical
がtrue
の場合、カテゴリーのように階層構造を持つことができます(例えば「アクション」内に「サスペンスアクション」という子ジャンルを作成できます)。register_taxonomy
: 実際にカスタムタクソノミーを登録する関数です。第一引数にタクソノミーの名前(この例ではgenre
)、第二引数にタクソノミーを関連付ける投稿タイプ(この例ではpost
)を指定します。
カスタムタクソノミーの表示
作成したカスタムタクソノミーをテンプレートファイルに表示するには、以下のようなコードを使用します。
カスタムタクソノミー「ジャンル」を表示するコード例
$terms = get_the_terms($post->ID, 'genre');
if ($terms && !is_wp_error($terms)) {
$genre_links = array();
foreach ($terms as $term) {
$genre_links[] = '<a href="' . esc_url(get_term_link($term)) . '">' . esc_html($term->name) . '</a>';
}
echo join(", ", $genre_links);
}
このコードは、現在の投稿に関連付けられた「ジャンル」をリンク付きで表示します。
カスタムタクソノミーの管理
WordPressの管理画面にアクセスすると、投稿タイプに紐付けたカスタムタクソノミーが表示されます。ここで、新しいタクソノミーを追加したり、既存のタクソノミーを編集することができます。
最後に
カスタムタクソノミーは、特に専門的な内容を扱うサイトや、投稿を多様な方法で分類したい場合に非常に役立ちます。初めは複雑に感じるかもしれませんが、慣れてくるとWordPressの柔軟性を最大限に活用するための強力なツールとなります。ぜひ、実際にコードを試しながら、カスタムタクソノミーの設定を理解していってください。