概要
wp_trash_post
アクションは、WordPressにおいて「投稿情報をゴミ箱に入れる」際に発動するフックです。このアクションは投稿がゴミ箱に移動するタイミングで実行され、開発者が投稿のゴミ箱移動時に追加の処理を行う際に利用されます。以下は、このアクションがよく使われるシチュエーションの例です。
- 投稿がゴミ箱に移動した際にメール通知を送信する。
- 自動でカスタムメタデータを削除する。
- 投稿の移動に伴い、他の関連データを更新する。
- ソーシャルメディアへの共有を解除する。
- 投稿の移動をトラッキングするためにログを記録する。
- 管理者に対して特定のメッセージを表示する。
- 他のプラグインとの連携を行う。
- 簡易的なバックアップを作成する。
構文
add_action('wp_trash_post', 'your_function_name', 10, 1);
パラメータ
$post_id
(int): ゴミ箱に入れられた投稿のID。
戻り値
このアクションは戻り値を持ちません。
関連する関数
使用可能なバージョン
wp_trash_post
アクションはWordPressバージョン 3.9.0以降で使用可能です。
コアファイルのパス
wp-includes/post.php
サンプルコード
サンプル1: 投稿をゴミ箱に入れた際にメッセージをログに記録する
add_action('wp_trash_post', 'log_trash_post');
function log_trash_post($post_id) {
$post_title = get_the_title($post_id);
error_log("投稿 '{$post_title}' はゴミ箱に入れられました。");
}
このコードは、投稿がゴミ箱に入れられた際に、その投稿のタイトルをWordPressのエラーログに記録します。
サンプル2: 投稿がゴミ箱に移動した時にカスタムメタデータを削除する
add_action('wp_trash_post', 'delete_custom_meta_on_trash');
function delete_custom_meta_on_trash($post_id) {
delete_post_meta($post_id, 'your_custom_meta_key');
}
このコードは、投稿がゴミ箱に移動した際に特定のカスタムメタデータを削除します。
サンプル3: 投稿がゴミ箱に入った際にメール通知を送る
add_action('wp_trash_post', 'send_trash_notification');
function send_trash_notification($post_id) {
$post_title = get_the_title($post_id);
wp_mail('admin@example.com', '投稿がゴミ箱に移動しました', "投稿 '{$post_title}' がゴミ箱に置かれました。");
}
このコードは、投稿がゴミ箱に入れられた際に管理者にメールで通知を送ります。
サンプル4: ゴミ箱に入った投稿の情報をデータベースに記録する
add_action('wp_trash_post', 'record_trashed_post');
function record_trashed_post($post_id) {
global $wpdb;
$wpdb->insert('wp_trashed_posts', array('post_id' => $post_id, 'trashed_at' => current_time('mysql')));
}
このコードは、ゴミ箱に入れられた投稿のIDと移動時間をカスタムテーブルに保存します。
サンプル5: 投稿がゴミ箱に入った時にユーザーロールをチェックする
add_action('wp_trash_post', 'check_user_role_on_trash');
function check_user_role_on_trash($post_id) {
if (current_user_can('administrator')) {
error_log('管理者が投稿をゴミ箱に入れました。');
}
}
このコードは、投稿をゴミ箱に入れたユーザーが管理者である場合にエラーログにメッセージを記録します。
この関数のアクションでの使用可能性
アクション名 | 使用例 |
---|---|
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_trash_post
アクションは特定のバージョンで非推奨または削除されていません。