[woocommerce] ステータスを変更した時になにか処理をする

この記事は、過去の記事や制作物を移動したものです。
記事の内容が古い可能性がございますのでご注意ください。

WooCommerceでステータスを変更した時に、なにか処理をするようにします。

サンプルコード

<?php

add_action( 'woocommerce_order_status_changed', 'woo_order_status_changed', 10, 3 );

function woo_order_status_changed( $order_id, $old_status, $new_status ) {
	
	// ステータスが変更された時にしたい処理を追加します。
	// 〜〜〜



	// サンプル
	// 「wc-my-custom」ステータスに変更された時に、完了ステータスに自動変更します。
    $order = wc_get_order( $order_id );
    $customer_id = $order->get_customer_id();
	
	if( 'wc-'.$new_status === 'wc-my-custom' ) {
		// 完了 wc-completedに変更
		$order->update_status( 'wc-completed' );
	}

}

<?php
add_action( 'woocommerce_order_status_changed' )