概要
woocommerce_payment_token_loaded
アクションは、WooCommerceにおける支払いトークンが読み込まれた際に実行されるフックです。このアクションは、様々な機能やカスタマイズを実装する際に役立ちます。具体的には次のような場面で使用されることが一般的です。
- ユーザーの支払い情報を拡張する。
- 特定の支払い方法の有効性を検証する。
- 支払いトークンに関連するカスタムデータを処理する。
- トークンの読み込み時に通知やロギングを行う。
- 支払いメソッドのフィルタリングや制御を行う。
- デバッグ情報を収集し、問題解決に役立てる。
このアクションはWooCommerceのバージョン4.0以降、またWordPressのバージョン5.0以降で利用可能です。
構文
do_action('woocommerce_payment_token_loaded', $token);
パラメータ
$token
: 読み込まれた支払いトークンのオブジェクト。
戻り値
このアクション自身は戻り値を持ちません。
サンプルコード
サンプル1: デバッグ用ロギング
このコードは、支払いトークンが読み込まれた際にその情報をデバッグログに記録します。
add_action('woocommerce_payment_token_loaded', 'log_payment_token_details');
function log_payment_token_details($token) {
error_log('Payment Token Loaded: ' . print_r($token, true));
}
引用元: https://developer.wordpress.org/reference/functions/error_log/
サンプル2: 支払いトークンのカスタムフィールド追加
このコードは、支払いトークンにカスタムフィールドを追加し、その値を保存するサンプルです。
add_action('woocommerce_payment_token_loaded', 'add_custom_field_to_payment_token');
function add_custom_field_to_payment_token($token) {
$token->custom_field = 'Custom Value';
}
引用元: https://developer.wordpress.org/reference/classes/WC_Payment_Token/
サンプル3: 支払いトークンの検証
このコードは、読み込まれた支払いトークンが特定の条件を満たしているか検証します。
add_action('woocommerce_payment_token_loaded', 'validate_payment_token');
function validate_payment_token($token) {
if ($token->get_id() === 'specific_token_id') {
// Do something if this is the specific token
}
}
引用元: https://woocommerce.com/document/woocommerce-api/
サンプル4: 特定の支払いメソッドを無効化
このコードは、特定の支払いトークンが読み込まれた場合にその支払いメソッドを無効にします。
add_action('woocommerce_payment_token_loaded', 'disable_specific_payment_method');
function disable_specific_payment_method($token) {
if ($token->get_id() === 'specific_token_id') {
// Disable the payment method
remove_payment_gateway('specific_gateway_id');
}
}
引用元: https://docs.woocommerce.com/wc-apidocs/class-WC_Payment_Gateway.html
サンプル5: 支払いトークンの通知システム
このコードは、支払いトークンが読み込まれた際にユーザーに通知を送信します。
add_action('woocommerce_payment_token_loaded', 'notify_user_on_payment_token_load');
function notify_user_on_payment_token_load($token) {
// Send notification to user
wc_add_notice(__('Payment token loaded successfully.', 'woocommerce'), 'success');
}
引用元: https://docs.woocommerce.com/wc-apidocs/class-WC_Notices.html
この関数のアクションでの使用可能性
アクション名 | 使用例 |
---|---|
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 |