プラグインWooCommerceのwoocommerce_payment_token_added_to_orderアクションの使用方法・解説

概要

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 );
}

引用元:WooCommerce Hooks

サンプル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 );
}

引用元:WooCommerce Hooks

サンプル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);
}

引用元:WooCommerce Hooks

サンプル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')) );
}

引用元:WooCommerce Hooks

サンプル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>';
}

引用元:WooCommerce Hooks

この関数について質問する


上の計算式の答えを入力してください