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

概要

woocommerce_order_is_created_via アクションは、WooCommerce で新しい注文が作成された際にトリガーされます。このフックは、様々な機能を実装する際によく使用されます。具体的には以下のようなケースで利用されることがあります。

  1. 外部システムとの連携(例えば、CRMやERPとのデータ同期)
  2. 特定の条件に基づいてカスタムメッセージを送信する
  3. 注文のメタデータを追加または変更する
  4. ユーザーへの通知やアラートを設定する
  5. オーダーの処理をカスタマイズする(例えば、状態変更やフィルタリング)
  6. 分析用のデータ収集やトラッキングを行う

構文

do_action( 'woocommerce_order_is_created_via', $order, $source );

パラメータ

  • $order: 生成されたWooCommerceの注文オブジェクト。
  • $source: 注文が作成されたソース(例:手動、API経由など)。

戻り値

このアクションは何も返さず、注文作成時に他の処理を行うためのトリガーとして機能します。

使用可能なプラグインWooCommerceのバージョン

このアクションはWooCommerceバージョン3.0以降で利用可能です。

使用可能なWordPressのバージョン

WordPressのバージョンは5.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_action('woocommerce_order_is_created_via', 'send_custom_order_email', 10, 2);

function send_custom_order_email($order, $source) {
    $to = 'admin@example.com';
    $subject = 'New Order Received';
    $message = 'A new order has been created with order ID: ' . $order->get_id();
    wp_mail($to, $subject, $message);
}

サンプルコード2: 注文のメタデータを追加

このコードは新しい注文にカスタムメタデータを追加します。

add_action('woocommerce_order_is_created_via', 'add_custom_order_meta', 10, 2);

function add_custom_order_meta($order, $source) {
    $order->update_meta_data('_custom_meta_key', 'Custom Value');
    $order->save();
}

サンプルコード3: 外部APIへのデータ送信

このコードは新しい注文が作成されると、外部APIに注文データを送信します。

add_action('woocommerce_order_is_created_via', 'send_order_to_external_api', 10, 2);

function send_order_to_external_api($order, $source) {
    $api_url = 'https://api.example.com/orders';
    $response = wp_remote_post($api_url, [
        'method'    => 'POST',
        'body'      => json_encode($order->get_data()),
        'headers'   => ['Content-Type' => 'application/json'],
    ]);
}

サンプルコード4: 特定の条件で処理のカスタマイズ

このコードは、特定の条件に基づいて注文処理をカスタマイズします。

add_action('woocommerce_order_is_created_via', 'custom_order_processing', 10, 2);

function custom_order_processing($order, $source) {
    if ($order->get_total() > 100) {
        $order->set_shipping_total(0); // 一定額以上の注文は送料無料
    }
}

サンプルコード5: 自動的なロギングとトラッキング

このコードは新規注文が作成されるたびにログを記録します。

add_action('woocommerce_order_is_created_via', 'log_order_creation', 10, 2);

function log_order_creation($order, $source) {
    $log_entry = 'Order ID ' . $order->get_id() . ' created via ' . $source;
    error_log($log_entry);
}

これらのサンプルコードは、WooCommerceのwoocommerce_order_is_created_viaアクションを使用して様々な処理を行う方法を示しています。各コードは異なる用途に特化したものであり、実際のプロジェクトでの応用が可能です。

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


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