概要
woocommerce_payment_token_added_to_order
アクションは、WooCommerceにおいて支払いトークンが注文に追加された際に実行されるフックです。このアクションは、支払いトークンが関連付けられた後に特定の処理を実行したい場合に非常に便利です。例えば、サブスクリプションの管理や顧客データの追跡、新しい支払方法の通知、カスタムメッセージの追加などに役立ちます。
主な使用ケース:
1. 支払いトークンが追加された際に特定の通知を送信する。
2. カスタムメタデータを追加することで、トークン情報を補完する。
3. 別のプラグインやシステムにデータを同期する。
4. 管理者への監視通知をトリガーする。
5. イベントログにアクティビティを記録する。
6. ユーザーインターフェースの更新を反映させる。
構文
do_action( 'woocommerce_payment_token_added_to_order', $payment_token_id, $order_id );
パラメータ
$payment_token_id
: 追加された支払いトークンのID。$order_id
: 支払いトークンが追加された注文のID。
戻り値
このアクションは値を戻しません。
使用可能プラグイン/バージョン
- WooCommerceバージョン:2.6以上
- WordPressバージョン:4.4以上
この関数のアクションでの使用可能性
アクション | 使用例 |
---|---|
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( 'woocommerce_payment_token_added_to_order', 'send_admin_notification', 10, 2 );
function send_admin_notification( $payment_token_id, $order_id ) {
$order = wc_get_order( $order_id );
$admin_email = get_option( 'admin_email' );
wp_mail( $admin_email, '新しい支払いトークンが追加されました', '注文ID: ' . $order_id );
}
サンプル2: カスタムメタデータの追加
このコードは、支払いトークンが追加されたときにカスタムメタデータを保存します。
add_action( 'woocommerce_payment_token_added_to_order', 'add_custom_metadata_to_order', 10, 2 );
function add_custom_metadata_to_order( $payment_token_id, $order_id ) {
update_post_meta( $order_id, '_custom_payment_token_meta', $payment_token_id );
}
サンプル3: イベントのロギング
このコードは新しい支払いトークンの追加をログファイルに記録します。
add_action( 'woocommerce_payment_token_added_to_order', 'log_payment_token_event', 10, 2 );
function log_payment_token_event( $payment_token_id, $order_id ) {
error_log('支払いトークンが追加されました。トークンID: ' . $payment_token_id . ', 注文ID: ' . $order_id);
}
サンプル4: 外部システムとのデータ同期
このコードは、支払いトークンの追加と共に外部APIへデータを送信します。
add_action( 'woocommerce_payment_token_added_to_order', 'sync_payment_token_with_external_api', 10, 2 );
function sync_payment_token_with_external_api( $payment_token_id, $order_id ) {
// APIへの送信処理
$api_url = 'https://api.example.com/sync';
$data = array( 'token_id' => $payment_token_id, 'order_id' => $order_id );
wp_remote_post( $api_url, array( 'body' => json_encode($data), 'headers' => array('Content-Type' => 'application/json')) );
}
サンプル5: 管理通知の表示
このコードは、管理パネルに支払いトークンに関する情報を表示します。
add_action( 'woocommerce_payment_token_added_to_order', 'display_payment_token_info_in_admin', 10, 2 );
function display_payment_token_info_in_admin( $payment_token_id, $order_id ) {
echo '<div class="notice notice-info">支払いトークンが追加されました。トークンID: ' . $payment_token_id . '</div>';
}