概要
woocommerce_payment_token_set_default
アクションは、WooCommerceでの支払いトークンのデフォルト設定時に呼び出されるフックです。このアクションは、主に以下のような機能を実装する際に使用されます。
- ユーザーの支払い方法を保存する際のカスタマイズ。
- デフォルトの支払い方法を自動的に設定するための処理。
- 特定の条件に基づいてデフォルトの支払いトークンを変更。
- 支払いトークンに関連するログやメッセージを記録する機能。
- 管理者用の通知やアラートをカスタマイズ。
- ユーザーの体験を向上させるための通知機能。
構文
add_action('woocommerce_payment_token_set_default', 'your_custom_function', 10, 2);
パラメータ
$payment_token
: 設定された支払いトークンオブジェクト。$user_id
: トークンを設定するユーザーのID。
戻り値
このアクションには戻り値はありません。
WooCommerceのバージョン
このアクションはWooCommerce 2.6以降で使用可能です。
WordPressのバージョン
WordPress 4.5以降で使用可能です。
サンプルコード
サンプルコード1
add_action('woocommerce_payment_token_set_default', 'set_default_payment_token', 10, 2);
function set_default_payment_token($payment_token, $user_id) {
// トークンが特定の条件を満たす場合にデフォルトに設定
if ($payment_token->get_id() == 123) {
// 特定のトークンをデフォルトに設定する処理
}
}
このサンプルは、特定の支払いトークンID (123
) の場合にのみ、デフォルト設定を行います。
サンプルコード2
add_action('woocommerce_payment_token_set_default', 'notify_user_of_default_payment', 10, 2);
function notify_user_of_default_payment($payment_token, $user_id) {
// ユーザーにデフォルトの支払い方法が変更されたことを通知する
$user_info = get_userdata($user_id);
wp_mail($user_info->user_email, 'デフォルト支払い方法の変更', '新しいデフォルト支払い方法が設定されました。');
}
このサンプルは、デフォルトの支払いトークンが変更された際にユーザーに通知を送信します。
サンプルコード3
add_action('woocommerce_payment_token_set_default', 'log_payment_token_change', 10, 2);
function log_payment_token_change($payment_token, $user_id) {
// デフォルト支払いトークンの変更をログに記録
error_log('User ID: ' . $user_id . ' changed their default payment token to: ' . $payment_token->get_id());
}
このサンプルコードは、新しいデフォルト支払いトークンが設定されたことをエラーログに記録します。
サンプルコード4
add_action('woocommerce_payment_token_set_default', 'update_user_meta_on_default_change', 10, 2);
function update_user_meta_on_default_change($payment_token, $user_id) {
// ユーザーのメタデータを更新
update_user_meta($user_id, 'default_payment_token', $payment_token->get_id());
}
この例では、デフォルトの支払いトークンをユーザーのメタデータに記録します。
サンプルコード5
add_action('woocommerce_payment_token_set_default', 'custom_default_payment_token_message', 10, 2);
function custom_default_payment_token_message($payment_token, $user_id) {
// 特定の条件に応じてメッセージをカスタマイズ
if ($payment_token->get_gateway_id() == 'stripe') {
// Stripeの場合の特別なメッセージ
echo 'あなたのデフォルトの支払い方法はStripeです。';
}
}
この例では、支払いゲートウェイがStripeの場合に特別なメッセージを表示します。
この関数のアクションでの使用可能性
アクション名 | 使用例 |
---|---|
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 |