概要
wp_after_insert_post
アクションは、投稿情報を保存した後にアクションを実行するためのフックです。このアクションは、投稿がデータベースに挿入された後にさまざまなカスタム処理を行いたい場合に利用されます。具体的には、以下のような機能を実装する際によく使われます。
- 投稿が作成された後にカスタムメタデータを追加する。
- 他のサービスに対して投稿情報を送信する。
- 投稿作成時に通知メールを送信する。
- ソーシャルメディアに自動的にシェアする。
- カスタムログを作成する。
- SEO関連のメタ情報を設定する。
- 投稿作成後のバリデーションチェックを行う。
- 他のプラグインとの連携処理を実行する。
構文
add_action('wp_after_insert_post', 'custom_function_after_insert_post', 10, 3);
パラメータ
$post_ID
: 挿入された投稿のID。$post
: 挿入された投稿のオブジェクト。$update
: 投稿が更新された場合はtrue
、新規作成された場合はfalse
。
戻り値
このアクションは値を返さず、フック内で実行される関数の結果はありません。
関連する関数
https://refwp.com/?titleonly=1&s=wp_after_insert_post
使用可能なバージョン
wp_after_insert_post
アクションは、WordPress 5.5.0 以降で利用可能です。
コアファイルのパス
wp-includes/post.php
サンプルコード
サンプル1: メタデータの追加
このサンプルコードでは、投稿が作成された後にカスタムメタデータを追加しています。
add_action('wp_after_insert_post', 'add_custom_meta_after_insert', 10, 3);
function add_custom_meta_after_insert($post_ID, $post, $update) {
if (!$update) { // 新規投稿の場合
add_post_meta($post_ID, 'custom_meta_key', 'Custom Value');
}
}
サンプル2: 通知メールの送信
投稿が作成された際に、管理者にメールを送信するコード例です。
add_action('wp_after_insert_post', 'send_notification_email_after_insert', 10, 3);
function send_notification_email_after_insert($post_ID, $post, $update) {
if (!$update) {
$admin_email = get_option('admin_email');
wp_mail($admin_email, '新しい投稿が作成されました', '投稿ID: ' . $post_ID);
}
}
サンプル3: ソーシャルメディアへのシェア
投稿作成時にソーシャルメディアにシェアする例です。
add_action('wp_after_insert_post', 'share_on_social_media', 10, 3);
function share_on_social_media($post_ID, $post, $update) {
if (!$update) {
// ここにAPIを呼び出してソーシャルメディアにシェアする処理を書く
}
}
サンプル4: カスタムログの作成
投稿が作成されたときにログファイルに書き込むサンプルです。
add_action('wp_after_insert_post', 'log_post_creation', 10, 3);
function log_post_creation($post_ID, $post, $update) {
if (!$update) {
error_log('新しい投稿が作成されました: ID ' . $post_ID);
}
}
サンプル5: SEO関連メタ情報の設定
投稿が作成された直後にSEOメタデータを設定するコード例です。
add_action('wp_after_insert_post', 'set_seo_meta_after_insert', 10, 3);
function set_seo_meta_after_insert($post_ID, $post, $update) {
if (!$update) {
// SEOメタデータを設定する処理をここに書く
update_post_meta($post_ID, '_seo_description', 'これは新しい投稿のSEO説明です。');
}
}
この関数のアクションでの使用可能性
アクション | 使用可能 |
---|---|
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 |
非推奨・削除されたバージョン
現在のところ、wp_after_insert_post
アクションが特定のバージョンで非推奨または削除された情報はありません。