概要
cptui_post_type_submit_add
は、WordPressでCustom Post Type UIプラグインを使用してカスタム投稿タイプを追加する際に実行されるフックです。このフックは、カスタム投稿タイプが新しく作成されるときにトリガーされ、ユーザーが特定のアクションを取ることを可能にします。よく使われる機能の例としては、以下のようなものがあります。
- 新しいカスタム投稿タイプ作成時の追加情報の保存
- 特定の設定に基づいたカスタムフィールドの初期化
- 作成時のカスタムタクソノミーの登録
- ユーザーへの通知メッセージの表示
- デフォルトのメタデータの設定
- ログ記録システムへの情報の送信
構文
do_action( 'cptui_post_type_submit_add', $post_type_data );
パラメータ
$post_type_data
: 新しいカスタム投稿タイプの設定情報を含む配列。
戻り値
このアクション自体には戻り値はありませんが、フックを使用することで他の処理を実行することができます。
対応バージョン
- Custom Post Type UI: バージョンを特定する必要がありますが、最新版を使用することが推奨されます。
- WordPress: 最新の安定版(通常は5.x以上)がお勧めです。
この関数のアクションでの使用可能性
アクション | 使用可否 |
---|---|
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_type_submit_add', 'save_custom_post_type_info' );
function save_custom_post_type_info( $post_type_data ) {
// 新しいカスタム投稿タイプのデータを保存する処理
update_option( 'my_custom_post_type_data', $post_type_data );
}
このサンプルコードは、新しいカスタム投稿タイプが追加された時に、そのデータをオプションとしてWordPressのDBに保存します。
サンプルコード 2
add_action( 'cptui_post_type_submit_add', 'register_custom_taxonomy' );
function register_custom_taxonomy( $post_type_data ) {
// 新しいカスタム投稿タイプに関連付けられたカスタムタクソノミーを登録する
register_taxonomy( 'my_custom_taxonomy', $post_type_data['name'], array(
'label' => 'My Custom Taxonomy',
'hierarchical' => true,
));
}
このコードは、新しいカスタム投稿タイプに対して関連付けられたカスタムタクソノミーを登録します。
サンプルコード 3
add_action( 'cptui_post_type_submit_add', 'set_default_meta_data' );
function set_default_meta_data( $post_type_data ) {
// 新しい投稿タイプにデフォルトのメタデータを設定
add_post_meta( $post_type_data['name'], 'default_meta_key', 'default_value', true );
}
このサンプルは、新しいカスタム投稿タイプにデフォルトメタデータを設定します。
サンプルコード 4
add_action( 'cptui_post_type_submit_add', 'notify_admin_on_new_post_type' );
function notify_admin_on_new_post_type( $post_type_data ) {
// 新しいカスタム投稿タイプが作成されたことを管理者に通知
wp_mail( 'admin@example.com', 'New Post Type Created', 'A new post type has been created: ' . $post_type_data['name']);
}
このコードは、新しく作成されたカスタム投稿タイプについて管理者にメール通知を送ります。
サンプルコード 5
add_action( 'cptui_post_type_submit_add', 'log_post_type_creation' );
function log_post_type_creation( $post_type_data ) {
// カスタム投稿タイプの追加記録をログに保存
error_log( 'New Post Type Added: ' . $post_type_data['name'] );
}
このサンプルでは、新しいカスタム投稿タイプの作成ログをerror_logに記録します。