WooCommerceでカスタム注文ステータスを追加および編集する方法

公開: 2022-05-14

WooCommerceでカスタム注文ステータスを追加および編集しますか? これらは、顧客の注文状況をより明確にするのに非常に役立ちます。

デフォルトでは、WordPressとWooCommerceではカスタムオーダーステータスを追加できません。 しかし、コードの助けを借りて、私たちはあなたのオンラインストアにそれらを追加し、すぐにそれらを編集することができます。 ただし、プロセスを開始する前に、WooCommerceでカスタム注文ステータスを追加または編集する必要がある理由を見てみましょう。

WooCommerceでカスタム注文ステータスを追加および編集する理由

オンラインストアでの購入プロセスを確実にするには、注文ステータスを適切に使用することが非常に重要です。 eコマースWebサイトでは、顧客が購入を完了するために実行する必要のあるいくつかの手順があります。 もちろん、これらの追加の手順により、売上は減少します。

または、処理する必要のある注文ステータスが少ないほど、eコマースストアの販売率は高くなります。 それに加えて、Webサイト全体の管理も簡単になります。

ただし、すべての場合で少なくとも2種類の注文ステータスが必要になります。 ユーザーが正常に注文する場合は、最初のタイプの注文ステータスが必要です。 保留中の支払い、処理、または保留に設定できます。

同様に、注文が完了したことに似た別の注文ステータスも必要です。 ここで、顧客は支払いを行い、製品を受け取った可能性があります。 ただし、不幸な事態が発生したために注文が完了しなかった場合は、失敗、キャンセル、または返金として設定されることもあります。

したがって、全体として、WooCommerceで利用できる次のデフォルトの注文ステータスがあり、自由に使用できます。

  • 支払い待ち
  • 失敗した
  • 処理
  • 完了
  • 保留
  • キャンセル
  • 返金済み

これらの注文ステータスは、eコマースのWebサイトに非常に適しています。 それらは、平均的なWebサイトが使用できるものに対してさらに十分です。

ただし、これらのデフォルトステータスではまだ十分でない場合は、オンラインストア用にいくつかのカスタムステータスを作成する必要があります。 それらをあなたのウェブサイトに追加することは確かにあなたの顧客に彼らのWooCommerce注文の状態のより明確な理解を与えるでしょう。 たとえば、注文が待機中の電話であることを顧客に具体的に通知する注文ステータスが必要な場合は、カスタムのWooCommerce注文ステータスを追加する必要があります。

WooCommerceカスタムオーダーステータスを作成するにはどうすればよいですか?

WooCommerceの注文は、特別なカスタム投稿タイプとして扱われます。 したがって、他の投稿タイプと同じように、データベースのwp_postsテーブルにpost_status値が付加されます。

したがって、カスタム注文ステータスを使用可能なステータスリストに含めるには、 register_post_status() WP組み込み関数を使用する必要があります。

ただし、先に進む前に、プログラムで子テーマを作成するか、子テーマプラグインの1つを使用してこれらの変更を行うようにしてください。 これにより、WordPressテーマを更新するときに、テーマファイルに対して行ったカスタマイズが変更されないことが保証されます。 同様に、WordPress Webサイトをバックアップして、不必要な変更が誤って行われた場合にWebサイトを復元できるようにすることも忘れないでください。

1.functions.phpファイルにアクセスします

WooCommerceでカスタム注文ステータスを作成および編集するには、最初にテーマ関数ファイルにアクセスする必要があります。 まず、WordPressダッシュボードから[外観]>[テーマファイルエディター]に移動します。 次に、画面右側のテーマファイルから「 funtions.php 」ファイルを選択します。

2.コードをfunctions.phpファイルに追加します

次に、次のスクリプトをコピーして、子テーマのfunctions.phpファイルに貼り付けます。 これにより、「通話待ち」という名前の新しいカスタム注文ステータスが作成されます。

 //新しいステータスを登録します
function register_wait_call_order_status(){
register_post_status('wc-waiting-call'、array(
'label' =>'待機中'、
'public' => true、
'show_in_admin_status_list' => true、
'show_in_admin_all_list' => true、
'exclude_from_search' => false、
'label_count' => _n_noop('待機中の呼び出し(%s)'、'待機中の呼び出し(%s)')
));
}
//カスタムステータスを注文ステータスリストに追加します
function add_wait_call_to_order_statuses($ order_statuses){
$ new_order_statuses = array();
foreach($ order_statuses as $ key => $ status){
$ new_order_statuses [$ key] = $ status;
if('wc-on-hold' === $ key){
$ new_order_statuses ['wc-waiting-call']='待機中の呼び出し';
}
}
$new_order_statusesを返します;
}
add_action('init'、'register_wait_call_order_status');
add_filter('wc_order_statuses'、'add_wait_call_to_order_statuses');

ここではいくつかのフックを使用していることに注意してください。 1つ目はwp_init()で、新しいステータスを登録するために使用されます。 ステータスが登録されると、この関数は不要になります。完了したら、このフックとその関数コールバックを削除できます。

2つ目はwc_order_statuses()フィルターフックです。これには、使用可能なリストに新しい注文ステータスが含まれます。 したがって、WooCommerce管理ダッシュボードからの注文に添付するときに使用できます。

WooCommerce> Orders from WordPressダッシュボードから注文を編集すると、新しいカスタム注文ステータスを確認できます。 次に、ステータスオプションをクリックすると、ドロップダウンメニューに「待機中」の注文ステータスが表示されます。

woocommerceでカスタムオーダーステータスを編集するカスタムオーダーステータスを作成する

WooCommerceで既存の注文ステータスを編集します

前のサンプルスクリプトwc_order_statuses()で見たのと同じフィルターフックを使用して、既存の注文ステータスの名前を変更することもできます。

次のサンプルコードは、「処理中」と「完了」の2つの順序統計を編集し、「進行中」と「配信済み」に変更します。

 function QuadLayers_rename_status($ order_statuses){
foreach($ order_statuses as $ key => $ status){
if('wc-processing' === $ key){
$ order_statuses ['wc-processing'] = _x('進行中'、'注文ステータス'、'woocommerce');
}
if('wc-completed' === $ key){
$ order_statuses ['wc-completed'] = _x('配信済み'、'注文ステータス'、'woocommerce');
}
}
$order_statusesを返します。
}
add_filter('wc_order_statuses'、'QuadLayers_rename_status');

コードを追加した後、ファイルを更新することを忘れないでください。

それでおしまい! これは、WooCommerceWebサイトで既存またはカスタムの注文ステータスを編集する方法です。

woocommerceでカスタム注文ステータスを編集する注文ステータスの名前を変更するwoocommerce

WooCommerceで注文ステータスを削除する

この場合も、 wc_order_statuses()は、特定の注文ステータスを削除するのに役立ちます。 この場合、「返金済み」の注文ステータスを削除します。

既存の注文ステータスを削除するには、次のスクリプトを使用します。 これは、デフォルトの注文ステータスとカスタムの注文ステータスの両方で機能します。

 function QuadLayers_remove_status($ statuses){
if(isset($ statuses ['wc-refunded'])){
unset($ statuses ['wc-refunded']);
}
$statusesを返します。
}
add_filter('wc_order_statuses'、'QuadLayers_remove_status');

デフォルトのWooCommerce注文ステータスを削除すると、一部の支払いゲートウェイとの統合が機能しなくなる可能性があることに注意してください。

結論

これらは、コードを使用してWooCommerceでカスタム注文ステータスを追加および編集するためのさまざまな方法の一部です。 これらをさらに変更して、デフォルトの既存のWooCommerce注文ステータスを編集および削除することもできます。 ただし、デフォルトの注文ステータスがあなたとあなたの顧客のニーズにとって十分でない場合にのみ、新しいカスタム注文ステータスを追加するか、既存のステータスを編集する必要があります。

ご覧のとおり、オンラインストアでカスタム注文ステータスを追加および編集するのは非常に簡単です。 ただし、WooCommerceフックの使用方法の基本を理解している必要があります。 同様に、WooCommerceの注文について詳しく知りたい場合は、WooCommerceで注文をテスト、繰り返し、削除、さらにはオートコンプリートする方法についての詳細なガイドもあります。

それで、あなたはあなたのウェブサイトで注文状況を編集して追加しようとしましたか? コメントで教えてください。

それまでの間、あなたに役立つかもしれない私たちの投稿のいくつかを自由に見てください:

  • カスタムWordPressプラグインを作成する方法
  • 注文を繰り返すのに最適なWooCommerceプラグイン
  • WooCommerceチェックアウトに料金を追加する方法