プラグインCustom Post Type UIのcptui_get_taxonomies_for_post_types関数の使用方法・解説

概要

cptui_get_taxonomies_for_post_types関数は、WordPressのCustom Post Type UIプラグインにおいて、指定したカスタム投稿タイプに関連付けられているタクソノミー(分類)を取得するための関数です。この関数は、特定のカスタム投稿タイプと連携するタクソノミーを簡単に取得できるため、主に以下のような機能を実装する際によく使われます。

  1. カスタム投稿タイプに特定の分類を追加する機能。
  2. カスタム投稿タイプに関連するタクソノミーを一覧表示する機能。
  3. 投稿のフィルタリング機能をカスタム投稿タイプに統合する際。
  4. 管理画面でのカスタム投稿タイプにタクソノミーを組み合わせる機能。
  5. テンプレートファイルにおける表示のための分類情報の取得。
  6. REST APIエンドポイントとの統合時にタクソノミー情報を取得する機能。

構文

cptui_get_taxonomies_for_post_types( $post_types );

パラメータ

  • $post_types (string|array): タクソノミーを取得したいカスタム投稿タイプの名前。単一の投稿タイプ名または複数の投稿タイプ名の配列を指定できます。

戻り値

  • (array): 指定したカスタム投稿タイプに関連付けられたタクソノミーの配列。

プラグインとWordPressのバージョン

  • Custom Post Type UIのバージョン: 1.10.0 以降
  • WordPressのバージョン: 5.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: デフォルトのカスタム投稿タイプのタクソノミーを取得

$post_type = 'movie';
$taxonomies = cptui_get_taxonomies_for_post_types($post_type);

foreach ($taxonomies as $taxonomy) {
    echo $taxonomy . '<br>';
}

このコードは、’movie’というカスタム投稿タイプのタクソノミーを取得し、リストとして表示します。

サンプルコード2: 複数のカスタム投稿タイプからタクソノミーを取得

$post_types = ['book', 'author'];
$taxonomies = cptui_get_taxonomies_for_post_types($post_types);

print_r($taxonomies);

このコードは、’book’および’author’という複数のカスタム投稿タイプに関連付けられたタクソノミーのリストを取得して表示します。

サンプルコード3: タクソノミーを利用した投稿フィルタリング

function filter_movies_by_taxonomy($query) {
    if (is_post_type_archive('movie') && $query->is_main_query()) {
        $taxonomies = cptui_get_taxonomies_for_post_types('movie');
        // ここでタクソノミーを使ったフィルタリング処理
    }
}
add_action('pre_get_posts', 'filter_movies_by_taxonomy');

このコードは、’movie’カスタム投稿タイプのアーカイブページで、関連するタクソノミーを取得し、フィルタリングを行うフックのサンプルです。

サンプルコード4: カスタム投稿タイプを登録時にタクソノミーを確認

function register_custom_post_types() {
    $post_type = 'event';
    register_post_type($post_type, []);

    $taxonomies = cptui_get_taxonomies_for_post_types($post_type);
    if (!empty($taxonomies)) {
        // フックとして何かの処理を実行
    }
}
add_action('init', 'register_custom_post_types');

このコードは、カスタム投稿タイプ’event’を登録し、関連するタクソノミーが存在するかどうかを確認する処理を示しています。

サンプルコード5: テンプレート内でのタクソノミーの利用

$post_type = 'portfolio';
$taxonomies = cptui_get_taxonomies_for_post_types($post_type);

if (!empty($taxonomies)) {
    foreach ($taxonomies as $taxonomy) {
        echo 'タクソノミー: ' . $taxonomy . '<br>';
    }
}

このコードは、’portfolio’カスタム投稿タイプに関連するタクソノミーをテンプレート内で表示するためのサンプルです。

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


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