ウェブサイト検索

WordPress の WooCommerce カスタム注文ステータスを作成する


WooCommerce は、オンラインで商品を販売するための素晴らしい WordPress プラグインです。そして今日は、カスタム注文ステータスを作成できるようにするプラグインを作成する方法を説明したいと思います。デフォルトでは、WooCommerce は次の注文ステータスを提供します。

  • キャンセル
  • 完了しました
  • 失敗した
  • 保留中
  • 保留中
  • 処理
  • 返金された

しかし、新しいステータスを追加したり、既存のステータスを変更したりする場合はどうすればよいでしょうか?以下は、WooCommerce 注文に新しい注文ステータスを追加するのがいかに簡単かを示す例です。

視覚的な最終結果は次のとおりです。

新しいWooCommerce注文ステータスを登録する

以前の WooCommerce では「shop_order_status」分類法が使用されていたため、新しい注文ステータスを追加するのは少し面倒でしたが、今ではこれまでよりも簡単になりました。例として以下のコードを見てください。

// Register New Order Statuses
function wpex_wc_register_post_statuses() {
	register_post_status( 'wc-custom-order-status', array(
		'label'						=> _x( 'Custom Order Status Name', 'WooCommerce Order status', 'text_domain' ),
		'public'					=> true,
		'exclude_from_search'		=> false,
		'show_in_admin_all_list'	=> true,
		'show_in_admin_status_list'	=> true,
		'label_count'				=> _n_noop( 'Approved (%s)', 'Approved (%s)', 'text_domain' )
	) );
}
add_filter( 'init', 'wpex_wc_register_post_statuses' );

// Add New Order Statuses to WooCommerce
function wpex_wc_add_order_statuses( $order_statuses ) {
	$order_statuses['wc-custom-order-status'] = _x( 'Custom Order Status Name', 'WooCommerce Order status', 'text_domain' );
	return $order_statuses;
}
add_filter( 'wc_order_statuses', 'wpex_wc_add_order_statuses' );

複数の新しい注文ステータスを追加したい場合は、wpex_wc_register_post_statuss 関数内の register_post_status 関数を必要なだけ複製し、それに応じて ID とラベルを変更してください。次に、wpex_wc_add_order_statuses 関数の $order_statuses 配列に新しい注文ステータスを追加します。