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

概要

woocommerce_thankyouは、WooCommerceにおける重要なアクションフックの一つです。このアクションは、購入後のサンキューページが表示される際に実行されます。具体的には、購入が完了した後に、顧客への感謝のメッセージやフォローアップメッセージを表示するために使用されることが多いです。以下のような機能を実装する際に役立ちます。

  1. 購入完了後のカスタムメッセージの表示
  2. 顧客の購入履歴を元にしたクロスセリング商品提案
  3. 購入後のアンケートやフィードバックの収集
  4. メール通知やサンクスメールの送信
  5. SNSシェアボタンの表示
  6. カスタムトラッキングコードの埋め込み

構文

add_action('woocommerce_thankyou', 'your_function_name', 10, 1);

パラメータ

  • $order_id (int): 完了した注文のID。

戻り値

このアクション自体は値を返しません。副作用としてサンキューページに対して何らかの処理が行われます。

WooCommerceとWordPressのバージョン

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

サンプルコード

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

add_action('woocommerce_thankyou', 'custom_thank_you_message', 10, 1);
function custom_thank_you_message($order_id) {
    echo '<p>ご購入いただきありがとうございます!ご注文が正常に処理されました。</p>';
}

このコードは、購入完了後のサンキューページにカスタムメッセージを表示します。

サンプルコード2: クロスセリング商品の表示

add_action('woocommerce_thankyou', 'display_cross_sells', 10, 1);
function display_cross_sells($order_id) {
    $order = wc_get_order($order_id);
    echo '<h2>おすすめ商品</h2>';
    foreach ($order->get_items() as $item_id => $item) {
        $product_id = $item->get_product_id();
        $cross_sells = array(); // ここにクロスセリング商品のIDを追加
        foreach ($cross_sells as $cross_sell) {
            echo '<p>' . get_the_title($cross_sell) . '</p>';
        }
    }
}

このコードは、購入後にクロスセリング商品を表示するためのサンプルです。

サンプルコード3: フィードバックフォームの表示

add_action('woocommerce_thankyou', 'feedback_form', 10, 1);
function feedback_form($order_id) {
    echo '<form method="post"><label for="feedback">フィードバックをお書きください:</label><textarea name="feedback" id="feedback"></textarea><input type="submit" value="送信"></form>';
}

このコードは、サンキューページにフィードバックフォームを表示します。

サンプルコード4: サンクスメールの送信

add_action('woocommerce_thankyou', 'send_thank_you_email', 10, 1);
function send_thank_you_email($order_id) {
    $order = wc_get_order($order_id);
    // メール送信ロジック
    wp_mail($order->get_billing_email(), 'ご購入ありがとうございます!', '注文が完了しました。');
}

このコードは、購入の完了時にサンクスメールを送信するロジックです。

サンプルコード5: SNSシェアボタンの追加

add_action('woocommerce_thankyou', 'add_social_share_buttons', 10, 1);
function add_social_share_buttons($order_id) {
    echo '<a href="https://twitter.com/share?url=' . get_permalink($order_id) . '">Twitterでシェア</a>';
    echo '<a href="https://www.facebook.com/sharer/sharer.php?u=' . get_permalink($order_id) . '">Facebookでシェア</a>';
}

このコードは、サンキューページにSNSシェアボタンを追加します。

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

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

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


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