概要
cptui_get_post_type_data
関数は、WordPressのCustom Post Type UIプラグインで提供されるもので、カスタム投稿タイプに関するメタデータを取得するために使用されます。この関数は、カスタム投稿タイプに関連した情報を扱う際に役立ち、以下のような機能を実装するためによく使われます。
- カスタム投稿タイプの属性の取得
- 投稿タイプに関連するカスタムフィールドの管理
- 投稿タイプを表示するテンプレートの調整
- 投稿タイプのアーカイブページのカスタマイズ
- カスタム投稿タイプを含むクエリの設定
- カスタム投稿タイプの特定のメタデータに基づくウィジェットの実装
構文
$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' );
このコードは、指定したカスタム投稿タイプの単数名をウィジェットとして表示するショートコードを作成します。