概要
cptui_post_type_import_update_save
は、WordPressのプラグイン「Custom Post Type UI」でカスタム投稿タイプのインポートや更新が行われた際にフックされるアクションです。このアクションは、特定のカスタム投稿タイプを動的に操作したり、データベースに保存された情報に基づいて他の処理を実行したい場合に役立ちます。
一般的に、このアクションは以下のような機能を実装する際によく使われます:
1. インポートされたカスタムデータのバリデーション
2. デフォルトの設定値をカスタム投稿タイプに追加
3. 他のプラグインやテーマとの統合処理
4. インポート時にカスタムメタデータを保存
5. インポートプロセスのログ管理
6. インポート後のリダイレクト処理
構文
add_action('cptui_post_type_import_update_save', 'your_function_name', 10, 2);
パラメータ
$post_type
: インポートまたは更新されたカスタム投稿タイプの名前。$args
: カスタム投稿タイプに関連する引数の配列。
戻り値
このアクションには戻り値はありません。コールバック関数内で任意の処理を実行できます。
バージョン
- Custom Post Type UIのバージョン: 1.10.0以降
- WordPressのバージョン: 4.9以降
この関数のアクションでの使用可能性
アクション | 使用可能性 |
---|---|
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_import_update_save', 'example_function_1', 10, 2);
function example_function_1($post_type, $args) {
// インポート時にログを記録
error_log("Post type '{$post_type}' has been imported or updated.");
}
このコードはカスタム投稿タイプがインポートまたは更新された際に、ログファイルにメッセージを記録します。
サンプルコード2
add_action('cptui_post_type_import_update_save', 'example_function_2', 10, 2);
function example_function_2($post_type, $args) {
// すべての投稿をカスタムフィールドで更新
if ($post_type === 'my_custom_post') {
foreach (get_posts(['post_type' => $post_type]) as $post) {
update_post_meta($post->ID, 'my_custom_meta_key', 'default value');
}
}
}
このコードは特定のカスタム投稿タイプに対して、インポートまたは更新後にカスタムフィールドを設定します。
サンプルコード3
add_action('cptui_post_type_import_update_save', 'example_function_3', 10, 2);
function example_function_3($post_type, $args) {
// 特定の条件でダッシュボードにメッセージを表示
if ($post_type === 'event') {
add_action('admin_notices', function() {
echo '<div class="notice notice-success"><p>Event post type has been updated!</p></div>';
});
}
}
このコードは、「event」というカスタム投稿タイプがインポートまたは更新された際、管理画面に通知を表示します。
サンプルコード4
add_action('cptui_post_type_import_update_save', 'example_function_4', 10, 2);
function example_function_4($post_type, $args) {
// カスタムタームをインポート後に追加
if ($post_type === 'product') {
wp_insert_term('New Category', 'product_cat');
}
}
このコードは、「product」というカスタム投稿タイプがインポートされた後、新しいタームを追加します。
サンプルコード5
add_action('cptui_post_type_import_update_save', 'example_function_5', 10, 2);
function example_function_5($post_type, $args) {
// インポートされたカスタム投稿タイプが特定の条件を満たす場合、特定のフックを実行
if ($post_type === 'portfolio') {
do_action('custom_portfolio_updated');
}
}
このコードは、「portfolio」というカスタム投稿タイプがインポートまたは更新された場合に、他のフックを実行します。
出典:
1. https://cptui.com/docs/
2. https://developer.wordpress.org/reference/hooks/