概要
cptui_init
は、WordPressのCustom Post Type UIプラグインによるカスタム投稿タイプの初期化に関連するフックです。このフックは、カスタム投稿タイプやタクソノミーを登録する際に、独自のコードを実行するために利用されます。具体的には、カスタム投稿タイプのカスタマイズや、他のプラグインやテーマとの連携を行う際に多く使われます。
主に以下のような機能に使用されます。
- 新しいカスタム投稿タイプの登録
- 既存のカスタム投稿タイプのプロパティの変更
- カスタムタクソノミーの設定
- カスタムメタボックスの追加
- カスタム投稿タイプの表示条件のカスタマイズ
- フィルタリングやソート機能の追加
このアクションは、Custom Post Type UIのバージョンによって異なる場合がありますが、一般的には最新のWordPressバージョンで利用可能です。
構文
add_action( 'cptui_init', 'your_function_name' );
パラメータ
- なし
戻り値
- なし
バージョン
- Custom Post Type UI: 最新版
- WordPress: 最新版
この関数のアクションでの使用可能性
アクション | 使用可能性 |
---|---|
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: カスタム投稿タイプの登録
このサンプルコードは、cptui_init
フックを使用して「書籍」というカスタム投稿タイプを作成します。
add_action( 'cptui_init', function() {
register_post_type( 'book', [
'labels' => [
'name' => '書籍',
'singular_name' => '書籍',
],
'public' => true,
'has_archive' => true,
'supports' => ['title', 'editor', 'thumbnail'],
]);
});
サンプルコード 2: カスタムタクソノミーの追加
このサンプルコードは、カスタム投稿タイプ「book」に「ジャンル」というカスタムタクソノミーを追加します。
add_action( 'cptui_init', function() {
register_taxonomy( 'genre', 'book', [
'labels' => [
'name' => 'ジャンル',
'singular_name' => 'ジャンル',
],
'hierarchical' => true,
'public' => true,
]);
});
サンプルコード 3: カスタムメタボックスの追加
このサンプルコードは、「書籍」投稿タイプにカスタムメタボックス「著者」を追加します。
add_action( 'cptui_init', function() {
add_meta_box( 'book_author', '著者', 'book_author_callback', 'book' );
function book_author_callback( $post ) {
$author = get_post_meta( $post->ID, 'book_author', true );
echo '<input type="text" name="book_author" value="' . esc_attr( $author ) . '">';
}
});
サンプルコード 4: 投稿一覧でのカスタムカラムの追加
このサンプルコードは、カスタム投稿タイプ「書籍」の管理画面に「著者」カラムを追加します。
add_action( 'cptui_init', function() {
add_filter( 'manage_book_posts_columns', function( $columns ) {
$columns['author'] = '著者';
return $columns;
});
add_action( 'manage_book_posts_custom_column', function( $column, $post_id ) {
if ( 'author' === $column ) {
echo esc_html( get_post_meta( $post_id, 'book_author', true ) );
}
}, 10, 2 );
});
サンプルコード 5: カスタム投稿タイプのリライトルールの追加
このサンプルコードは、カスタム投稿タイプ「書籍」のリライトルールをカスタマイズします。
add_action( 'cptui_init', function() {
register_post_type( 'book', [
'rewrite' => ['slug' => 'books'],
'public' => true,
'has_archive' => true,
]);
});
上記のサンプルコードはすべて、著作権フリーのものとして利用可能です。必要に応じて、さらにカスタマイズや機能追加を行ってください。