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

概要

cptui_get_post_type_data関数は、WordPressのCustom Post Type UIプラグインで提供されるもので、カスタム投稿タイプに関するメタデータを取得するために使用されます。この関数は、カスタム投稿タイプに関連した情報を扱う際に役立ち、以下のような機能を実装するためによく使われます。

  1. カスタム投稿タイプの属性の取得
  2. 投稿タイプに関連するカスタムフィールドの管理
  3. 投稿タイプを表示するテンプレートの調整
  4. 投稿タイプのアーカイブページのカスタマイズ
  5. カスタム投稿タイプを含むクエリの設定
  6. カスタム投稿タイプの特定のメタデータに基づくウィジェットの実装

構文

$data = cptui_get_post_type_data( $post_type );

パラメータ

  • $post_type (string): 取得したいカスタム投稿タイプのスラッグ。

戻り値

  • (array): 指定されたカスタム投稿タイプの設定情報を含む連想配列。

プラグインのバージョン

  • Custom Post Type UI: 1.0.0以降

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

// カスタム投稿タイプのデータを取得して表示する
function display_custom_post_type_labels() {
    $post_type_data = cptui_get_post_type_data( 'custom_post' );
    echo 'Label: ' . esc_html( $post_type_data['labels']['name'] );
}
add_action( 'wp', 'display_custom_post_type_labels' );

このコードは指定したカスタム投稿タイプのラベルを取得し、表示します。

サンプルコード2

// 特定のカスタム投稿タイプの設定を反映する
function modify_custom_post_type() {
    $data = cptui_get_post_type_data( 'portfolio' );
    if ( ! empty( $data['supports'] ) && in_array( 'thumbnail', $data['supports'] ) ) {
        add_theme_support( 'post-thumbnails' );
    }
}
add_action( 'init', 'modify_custom_post_type' );

このコードでは、特定のカスタム投稿タイプがサムネイルをサポートしている場合に、テーマでのサポートを追加します。

サンプルコード3

// カスタム投稿タイプのクエリを修正
function custom_post_type_query( $query ) {
    if ( is_post_type_archive( 'event' ) && $query->is_main_query() ) {
        $query->set( 'posts_per_page', 10 );
    }
}
add_action( 'pre_get_posts', 'custom_post_type_query' );

このコードは、「event」カスタム投稿タイプのアーカイブに対して、表示する投稿数を変更します。

サンプルコード4

// カスタム投稿タイプのアーカイブページタイトルを変更
function change_archive_title( $title ) {
    if ( is_post_type_archive( 'book' ) ) {
        $title = 'My Custom Books Archive';
    }
    return $title;
}
add_filter( 'get_the_archive_title', 'change_archive_title' );

このコードは「book」カスタム投稿タイプのアーカイブページタイトルをカスタムタイトルに変更します。

サンプルコード5

// カスタム投稿タイプのメタデータを使ったウィジェット
function custom_post_widget() {
    $post_data = cptui_get_post_type_data( 'product' );
    echo '<h2>' . esc_html( $post_data['labels']['singular_name'] ) . '</h2>';
}
add_shortcode( 'custom_product_widget', 'custom_post_widget' );

このコードは、指定したカスタム投稿タイプの単数名をウィジェットとして表示するショートコードを作成します。

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


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