プラグインWooCommerceのwoocommerce_thankyou_$ORDER->GET_PAYMENT_METHODフィルタの使用方法・解説

概要

woocommerce_thankyou_$ORDER->get_payment_methodフィルタは、WooCommerceの決済プロセスの完了時に、特定の注文の支払い方法を取得/表示するために使用されます。このフィルタは、以下のような機能を実装する際に特に役立ちます:

  1. 注文完了ページでのカスタムメッセージの表示
  2. 支払い方法に基づく条件付きロジックの実装
  3. 特定の支払い方法に関連する追加情報の提供
  4. 支払い方法を取得して外部 API と連携する
  5. 支払い方法のラベルやメッセージのカスタマイズ
  6. ユーザー体験を向上させるためのレポート生成やアナリティクス

構文

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/

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


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