概要
woocommerce_payment_complete
は、WooCommerceの購入プロセスにおいて、支払いが完了した際に実行されるフックです。このアクションは、購入が成功したときに特定の処理を実行するために使用されます。特に、以下のような場面で効果的に使用されます。
- 購入完了後の確認メールの送信
- 顧客データベースの更新
- サードパーティのサービスへの通知(例:在庫管理システム)
- ロイヤリティポイントの付与
- リダイレクト処理(例:サンキューページへのリダイレクト)
- 分析ツールへのイベント送信
このアクションは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
アクションが他のフックで使用可能かどうかを示しています。