概要
cptui_post_register_post_types
アクションは、WordPress の Custom Post Type UI プラグインが投稿タイプを登録する際に使用されるフックです。このフックを利用することで、カスタム投稿タイプをさらに拡張したり、特別な設定を追加することが可能になります。具体的には、次のような機能を実装する際によく使われます。
- カスタム投稿タイプにカスタムメタフィールドを追加
- 特定のユーザーロールへのビュー権限の割り当て
- カスタム分類(タクソノミー)の追加
- 投稿タイプに独自のサポート機能を追加(例: アイキャッチ画像、抜粋など)
- REST API 用のエンドポイント拡張
- 投稿タイプの表示順序の変更
構文
add_action( 'cptui_post_register_post_types', 'your_function_name' );
パラメータ
cptui_post_register_post_types
には引数はありません。
戻り値
- このアクションは戻り値を持たず、主に他の処理を行うためのフックとして機能します。
バージョン情報
- Custom Post Type UI のバージョン: 1.10.0 以上
- 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_post_register_post_types', function() {
register_post_meta( 'your_custom_post_type', 'custom_meta_key', [
'type' => 'string',
'description' => 'A custom meta field for this post type',
'single' => true,
'show_in_rest' => true,
] );
} );
このコードは、カスタム投稿タイプのためにカスタムメタフィールド(custom_meta_key
)を登録するものです。
出典: https://developer.wordpress.org/reference/functions/register_post_meta/
サンプルコード 2: 権限の割り当て
add_action( 'cptui_post_register_post_types', function() {
add_post_type_support( 'your_custom_post_type', 'author' );
} );
このコードは、カスタム投稿タイプに対して著者情報のサポートを追加するものです。
出典: https://developer.wordpress.org/reference/functions/add_post_type_support/
サンプルコード 3: カスタム分類の追加
add_action( 'cptui_post_register_post_types', function() {
register_taxonomy( 'custom_taxonomy', 'your_custom_post_type', [
'label' => 'Custom Taxonomy',
'hierarchical' => true,
] );
} );
このコードは、カスタム投稿タイプに独自のカスタム分類(タクソノミー)を追加するものです。
出典: https://developer.wordpress.org/reference/functions/register_taxonomy/
サンプルコード 4: 独自のサポート機能の追加
add_action( 'cptui_post_register_post_types', function() {
add_post_type_support( 'your_custom_post_type', 'thumbnail' );
} );
このコードは、カスタム投稿タイプにアイキャッチ画像のサポートを追加するものです。
出典: https://developer.wordpress.org/reference/functions/add_post_type_support/
サンプルコード 5: 投稿タイプの表示順序の変更
add_action( 'cptui_post_register_post_types', function() {
add_filter( 'the_posts', function( $posts ) {
// 投稿タイプの並び順を設定
usort( $posts, function( $a, $b ) {
return $a->menu_order <=> $b->menu_order;
});
return $posts;
});
} );
このコードは、カスタム投稿タイプの表示順序を変更するためのフィルターを追加します。
出典: https://developer.wordpress.org/reference/functions/usort/