ワードプレスのregister_taxonomy関数の使用方法・解説

概要

register_taxonomy関数は、WordPressでカスタムタクソノミー(分類法)を登録するために使用されます。この関数を利用することで、投稿やカスタム投稿タイプに新しい分類を追加することができ、コンテンツの整理や表示をより効果的に行うことが可能になります。以下のような機能を実装する際によく使われます。

  1. カスタムカテゴリの作成
  2. タグの追加
  3. 投稿タイプに対するカスタム分類の作成
  4. 商品やサービスの属性を categorizing する
  5. 複数の投稿タイプ間でのタクソノミーの共有
  6. ユーザー定義のフィルタリングオプションの追加
  7. 管理画面でのカスタムタクソノミーの表示
  8. SEO対策としての構造化データの追加

構文

register_taxonomy( $taxonomy, $object_type, $args );

パラメータ

  • $taxonomy (string) – タクソノミーの名前。
  • $object_type (string|array) – タクソノミーを関連付けるオブジェクトの種類(例:post, page, custom_post_type)。
  • $args (array) – タクソノミーの設定オプション。

戻り値

この関数は、成功した場合は true を返し、エラーが発生した場合は WP_Error オブジェクトを返します。

関連する関数

使用可能なバージョン

register_taxonomy関数はWordPress 2.3.0以降で使用可能です。

コアファイルパス

wp-includes/taxonomy.php

この関数のアクションでの使用可能性

アクション 使用可能性
mu_plugin_loaded
registered_post_type
plugins_loaded
wp_roles_init
setup_theme
after_setup_theme
set_current_user
init
register_sidebar
wp_loaded
send_headers
parse_query
pre_get_posts
wp
template_redirect
get_header
wp_head

サンプルコード

サンプル1: シンプルなタクソノミーの登録

function my_custom_taxonomy() {
    register_taxonomy(
        'genre',
        'post',
        array(
            'label' => __( 'Genre' ),
            'rewrite' => array( 'slug' => 'genre' ),
            'hierarchical' => true,
        )
    );
}
add_action( 'init', 'my_custom_taxonomy' );

このサンプルコードは、”Genre”という名前のカスタムタクソノミーを投稿に追加します。

サンプル2: 複数の投稿タイプを関連付ける

function my_custom_taxonomy() {
    register_taxonomy(
        'genre',
        array( 'post', 'movie' ),
        array(
            'label' => __( 'Genre' ),
            'hierarchical' => true,
        )
    );
}
add_action( 'init', 'my_custom_taxonomy' );

このコードは、”Genre”タクソノミーを投稿と映画の両方に関連付けます。

サンプル3: 非階層型タクソノミーの登録

function my_custom_tag_taxonomy() {
    register_taxonomy(
        'topic',
        'post',
        array(
            'label' => __( 'Topic' ),
            'hierarchical' => false,
        )
    );
}
add_action( 'init', 'my_custom_tag_taxonomy' );

このサンプルは、階層構造を持たない”Topic”というタクソノミーを投稿に登録します。

サンプル4: タクソノミーの設定オプションをカスタマイズ

function my_custom_taxonomy() {
    register_taxonomy(
        'genre',
        'post',
        array(
            'labels' => array(
                'name' => __( 'Genres' ),
                'singular_name' => __( 'Genre' )
            ),
            'public' => true,
            'show_admin_column' => true,
            'rewrite' => array( 'slug' => 'genres' ),
        )
    );
}
add_action( 'init', 'my_custom_taxonomy' );

このコードは、管理画面に”Genre”タクソノミーの列を表示し、その表示名やリライトルールをカスタマイズします。

サンプル5: タクソノミーのカスタムメタボックスを追加

function add_custom_taxonomy_metabox() {
    add_meta_box(
        'custom_taxonomy_metabox',
        __( 'Genre' ),
        'custom_taxonomy_metabox_callback',
        'post'
    );
}
add_action( 'add_meta_boxes', 'add_custom_taxonomy_metabox' );

function custom_taxonomy_metabox_callback() {
    // メタボックスの内容をここに記述
}

このサンプルは、投稿編集画面にカスタムタクソノミーのメタボックスを追加する方法を示しています。

これらのサンプルコードはすべて、WordPressにおけるタクソノミーの登録方法を示すものです。

この関数について質問する


上の計算式の答えを入力してください