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

概要

woocommerce_payment_completeは、WooCommerceの購入プロセスにおいて、支払いが完了した際に実行されるフックです。このアクションは、購入が成功したときに特定の処理を実行するために使用されます。特に、以下のような場面で効果的に使用されます。

  1. 購入完了後の確認メールの送信
  2. 顧客データベースの更新
  3. サードパーティのサービスへの通知(例:在庫管理システム)
  4. ロイヤリティポイントの付与
  5. リダイレクト処理(例:サンキューページへのリダイレクト)
  6. 分析ツールへのイベント送信

このアクションはWooCommerceの特定のバージョンで利用可能で、そのためにはWordPressの特定のバージョンも必要です。

  • WooCommerceのバージョン: 2.1.0以降
  • WordPressのバージョン: 4.0以降

構文

add_action( 'woocommerce_payment_complete', 'your_custom_function', 10, 1 );

パラメータ

  • order_id(整数): 完了した注文のID。

戻り値

このアクションには戻り値はありません。

サンプルコード

サンプルコード 1: 購入完了メールのカスタマイズ

add_action( 'woocommerce_payment_complete', 'send_custom_email_on_payment_complete' );

function send_custom_email_on_payment_complete( $order_id ) {
    $order = wc_get_order( $order_id );
    // カスタムメール送信のための処理
}

このコードは、支払いが完了した際にカスタムメールを送信するための基本的なフックです。

サンプルコード 2: ロイヤリティポイントの付与

add_action( 'woocommerce_payment_complete', 'add_loyalty_points' );

function add_loyalty_points( $order_id ) {
    $order = wc_get_order( $order_id );
    // 顧客にポイントを追加する処理
}

このコードでは、支払い完了時に顧客にロイヤリティポイントを付与します。

サンプルコード 3: サードパーティAPIへの通知

add_action( 'woocommerce_payment_complete', 'notify_third_party_api' );

function notify_third_party_api( $order_id ) {
    $order = wc_get_order( $order_id );
    // 外部APIに通知する処理
}

このコードは、支払い完了時にサードパーティAPIに通知を送ります。

サンプルコード 4: 注文状態のカスタム更新

add_action( 'woocommerce_payment_complete', 'custom_order_status_update' );

function custom_order_status_update( $order_id ) {
    $order = wc_get_order( $order_id );
    // 注文状態をカスタム状態に更新する処理
}

このコードは、特定の条件に基づいて注文の状態を更新します。

サンプルコード 5: イベントトラッキング

add_action( 'woocommerce_payment_complete', 'track_payment_event' );

function track_payment_event( $order_id ) {
    $order = wc_get_order( $order_id );
    // 分析ツールへのイベント送信の処理
}

このコードは、支払い完了のイベントを分析ツールに送信する機能を実装しています。

この関数のアクションでの使用可能性

アクション 使用例
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

この表は、woocommerce_payment_completeアクションが他のフックで使用可能かどうかを示しています。

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


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