プラグインCustom Post Type UIのcptui_initアクションの使用方法・解説

概要

cptui_initは、WordPressのCustom Post Type UIプラグインによるカスタム投稿タイプの初期化に関連するフックです。このフックは、カスタム投稿タイプやタクソノミーを登録する際に、独自のコードを実行するために利用されます。具体的には、カスタム投稿タイプのカスタマイズや、他のプラグインやテーマとの連携を行う際に多く使われます。

主に以下のような機能に使用されます。

  1. 新しいカスタム投稿タイプの登録
  2. 既存のカスタム投稿タイプのプロパティの変更
  3. カスタムタクソノミーの設定
  4. カスタムメタボックスの追加
  5. カスタム投稿タイプの表示条件のカスタマイズ
  6. フィルタリングやソート機能の追加

このアクションは、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,
    ]);
});

上記のサンプルコードはすべて、著作権フリーのものとして利用可能です。必要に応じて、さらにカスタマイズや機能追加を行ってください。

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


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