概要
woocommerce_thankyou_$ORDER->get_payment_method
フィルタは、WooCommerceの決済プロセスの完了時に、特定の注文の支払い方法を取得/表示するために使用されます。このフィルタは、以下のような機能を実装する際に特に役立ちます:
- 注文完了ページでのカスタムメッセージの表示
- 支払い方法に基づく条件付きロジックの実装
- 特定の支払い方法に関連する追加情報の提供
- 支払い方法を取得して外部 API と連携する
- 支払い方法のラベルやメッセージのカスタマイズ
- ユーザー体験を向上させるためのレポート生成やアナリティクス
構文
add_filter('woocommerce_thankyou_{order_id}', 'custom_function', 10, 1);
パラメータ
$payment_method
: 現在の支払い方法を表す文字列。
戻り値
- 変更された支払い方法の文字列。
使用可能なプラグインとバージョン
- WooCommerceバージョン: 3.0以上
- WordPressバージョン: 4.0以上
この関数のアクションでの使用可能性
アクション | 使用例 |
---|---|
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_filter('woocommerce_thankyou_order_id', 'custom_payment_method_message', 10, 1);
function custom_payment_method_message($payment_method) {
if ($payment_method === 'paypal') {
return 'あなたはPayPalで支払いました。';
}
return $payment_method;
}
このコードは、支払い方法がPayPalである場合に特定のメッセージを表示するフィルタです。
引用元: https://developer.wordpress.org/reference/functions/add_filter/
サンプルコード 2
add_filter('woocommerce_thankyou_order_id', 'log_payment_method', 10, 1);
function log_payment_method($payment_method) {
error_log('支払い方法: ' . $payment_method);
return $payment_method;
}
このコードは、注文完了時に選択された支払い方法をログに記録するものです。
引用元: https://www.sitepoint.com/using-php-error-logs/
サンプルコード 3
add_filter('woocommerce_thankyou_order_id', 'custom_display_payment_info', 10, 1);
function custom_display_payment_info($payment_method) {
if ($payment_method === 'stripe') {
return 'Stripeでの決済が完了しました。';
}
return $payment_method;
}
このフィルタは、支払い方法がStripeの時に特定のメッセージを表示します。
引用元: https://wordpress.stackexchange.com/questions/312306/how-to-add-a-custom-message-after-order-complete
サンプルコード 4
add_filter('woocommerce_thankyou_order_id', 'modify_payment_method_label', 10, 1);
function modify_payment_method_label($payment_method) {
return str_replace('Credit Card', 'クレジットカード', $payment_method);
}
このコードは、「Credit Card」というテキストを日本語の「クレジットカード」に置き換えるものです。
引用元: https://wpdocs.osuosl.org/Category:Filters
サンプルコード 5
add_filter('woocommerce_thankyou_order_id', 'extend_payment_method_details', 10, 1);
function extend_payment_method_details($payment_method) {
if ($payment_method === 'bacs') {
return $payment_method . ' - 銀行振込による支払い';
}
return $payment_method;
}
このフィルタは、銀行振込(BACS)の場合に追加情報を提供します。
引用元: https://woocommerce.com/posts/woocommerce-sample-plugin/