プラグインCustom Post Type UIのcptui_attach_post_types_to_taxonomyアクションの使用方法・解説

概要

cptui_attach_post_types_to_taxonomyは、WordPressのプラグインCustom Post Type UIで提供されるフックで、カスタム投稿タイプをカスタム分類に関連付ける際に使用されます。このフックを利用することで、ユーザーは新たに作成したカスタム投稿タイプを特定の分類に簡単に結びつけることができます。

このアクションは、以下のような機能を実装する際によく使われます:

  1. カスタム投稿タイプの作成と分類の設定を同時に行う
  2. 特定の投稿タイプを特定のタクソノミーに関連付けてコンテンツを整理する
  3. カスタム分類によるフィルタリング機能の実装
  4. カスタム投稿タイプでのタクソノミーの表示設定
  5. 投稿タイプごとのメタボックスの追加
  6. カスタムクエリの結果をさらに細かく制御する

構文

add_action('cptui_attach_post_types_to_taxonomy', 'your_function_name', 10, 2);

パラメータ

  • $slug: 登録されているタクソノミーのスラッグ(文字列)
  • $post_types: 関連付けられるカスタム投稿タイプの配列

戻り値

このアクションは戻り値を持ちません。

使用可能なプラグインバージョン

このアクションはCustom Post Type UIのバージョン1.7.5以降で利用可能です。

使用可能なWordPressのバージョン

このアクションはWordPressのバージョン4.0以降で利用可能です。

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

アクション名 使用例
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: カスタム投稿タイプをタクソノミーに紐づける

add_action('cptui_attach_post_types_to_taxonomy', function($slug, $post_types) {
    if ($slug === 'my_custom_taxonomy') {
        $post_types[] = 'my_custom_post_type';
    }
    return $post_types;
});

このサンプルコードは、my_custom_taxonomyというタクソノミーにmy_custom_post_typeというカスタム投稿タイプを関連付けています。

サンプル2: 複数のカスタム投稿タイプをタクソノミーに関連付ける

add_action('cptui_attach_post_types_to_taxonomy', function($slug, $post_types) {
    if ($slug === 'my_custom_taxonomy') {
        $post_types = array_merge($post_types, ['my_custom_post_type', 'another_custom_post_type']);
    }
    return $post_types;
});

このサンプルは、1つのタクソノミーに対して複数のカスタム投稿タイプを登録しています。

サンプル3: タクソノミーに特定の条件でのみ紐づける

add_action('cptui_attach_post_types_to_taxonomy', function($slug, $post_types) {
    if ($slug === 'my_custom_taxonomy' && current_user_can('manage_options')) {
        $post_types[] = 'admin_only_post_type';
    }
    return $post_types;
});

このコードは、特定のユーザー権限を持つ場合にのみカスタム投稿タイプをタクソノミーに追加します。

サンプル4: タクソノミー名に基づいて条件付きで投稿タイプを追加

add_action('cptui_attach_post_types_to_taxonomy', function($slug, $post_types) {
    if (strpos($slug, 'special') !== false) {
        $post_types[] = 'special_post_type';
    }
    return $post_types;
});

このコードは、タクソノミーのスラッグにspecialが含まれる場合に特定のカスタム投稿タイプを追加します。

サンプル5: 投稿タイプの一部にタクソノミーを関連付ける

add_action('cptui_attach_post_types_to_taxonomy', function($slug, $post_types) {
    if ($slug === 'category') {
        $post_types[] = 'news';
        $post_types[] = 'events';
    }
    return $post_types;
});

このサンプルは、既存のcategoryタクソノミーにnewseventsというカスタム投稿タイプを関連付けます。

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


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