WooCommerceで注文ステータスを非表示にする方法
公開: 2020-11-12 WooCommerceストアでコアオーダーステータスを非表示にしますか? 最近、クライアントがWooCommerceストアで注文ステータスの一部を非表示にすることを希望しました。 この投稿では、いくつかの注文ステータスを簡単に削除する方法と、カスタムステータスを作成する方法を説明します。
 WooCommerceストアでコアオーダーステータスを非表示にしますか? 最近、クライアントがWooCommerceストアで注文ステータスの一部を非表示にすることを希望しました。 この投稿では、いくつかの注文ステータスを簡単に削除する方法と、カスタムステータスを作成する方法を説明します。 
WooCommerce注文ステータスを非表示
さまざまな理由から、コア注文ステータスの一部を非表示にすることができます。 ただし、デフォルトバージョンのWooCommerceでは、注文の完了、処理中、支払い保留中、保留中、払い戻し済み、キャンセル済み、または失敗のいずれかのステータスで注文にマークを付けることができます。
 多くのプラグインを使用すると、注文ステータスを管理できます。そのうちの1つは、49ドルの価格の「 WooCommerce注文ステータスマネージャー」プラグインです。  
 
これはあなたの店にとって高価な解決策かもしれませんが、これを行う簡単な方法があります。 WooCommerceの現在のバージョンでは、注文ステータスは、投稿のドラフト、スケジュール、または公開と同様に、カスタム投稿ステータスとして保存されます。
注文ステータスを非表示にする方法
それでは、コードスニペットを使用してWooCommerceで注文ステータスを非表示にする方法を見てみましょう。 デフォルトの注文ステータスメッセージを確認するには、WordPressサイトにログインし、管理者ユーザーとしてダッシュボードにアクセスします。 次に、 WooCommerce> Ordersをクリックします。 あなたはこれを見るでしょう:  
 
 これらのメッセージは、顧客が注文しようとしたときにフロントエンドにも表示されます。 これには、以下に示すように、[マイアカウント]> [注文]をクリックしてアクセスできます。 
コア注文ステータスを非表示にする手順
コアオーダーステータスを非表示にするときは、そのステータスの製品がないことを確認してください。 さらに、エラーが発生する可能性があるため、WooCommerceショップがそのステータスをどこでも使用しないようにする必要があります。 たとえば、WooCommerceストアで払い戻しを行う予定がない場合は、払い戻しステータスを非表示にすることができます。
すべてのコア注文ステータスを削除できない理由は、ワークフローで使用しないものも含めて、プラグインが注文ステータスを使用するためです。 支払いゲートウェイのようなプラグインは、常にコア注文ステータスが存在することを前提としています。 彼らがそこにいない場合、彼らは壊れます
従う必要のある手順は次のとおりです。
- WordPressサイトにログインし、管理者ユーザーとしてダッシュボードにアクセスします。
- [ダッシュボード]メニューから、[外観メニュー]> [テーマエディターメニュー]をクリックします。 テーマエディタページが開いたら、テーマ関数ファイルを探して、WooCommerceストアのコアオーダーステータスを非表示にする関数を追加します。
- 次のコードをfunctions.phpファイルに追加します。
 / *
 *コア注文ステータスの削除
 * @param array $ wc_statuses_arrWebサイト上のすべての注文ステータスの配列
 * /
関数njengah_remove_order_statuses($ wc_statuses_arr){
            //処理
            if(isset($ wc_statuses_arr ['wc-processing'])){//存在する場合
                        unset($ wc_statuses_arr ['wc-processing']); //配列から削除します
            }
            //返金
            if(isset($ wc_statuses_arr ['wc-refunded'])){
                        unset($ wc_statuses_arr ['wc-refunded']);
            }
            // 保留
            if(isset($ wc_statuses_arr ['wc-on-hold'])){
                        unset($ wc_statuses_arr ['wc-on-hold']);
            }
            // 失敗した
            if(isset($ wc_statuses_arr ['wc-failed'])){
                        unset($ wc_statuses_arr ['wc-failed']);
            }
            // 支払い待ち
            if(isset($ wc_statuses_arr ['wc-pending'])){
                        unset($ wc_statuses_arr ['wc-pending']);
            }
            //完了
            // if(isset($ wc_statuses_arr ['wc-completed'])){
            // unset($ wc_statuses_arr ['wc-completed']);
            //}
            //キャンセル
            // if(isset($ wc_statuses_arr ['wc-cancelled'])){
            // unset($ wc_statuses_arr ['wc-cancelled']);
            //}
            $ wc_statuses_arrを返します。 //結果のステータスを返します
}
add_filter( 'wc_order_statuses'、 'njengah_remove_order_statuses');-  これはフロントエンドでの結果です。  
- カスタムオーダーステータスを追加するには、functions.phpファイルに次のコードを追加します。
 / **
* ID「wc-njengah-shipment」とラベル「Awaitingshipship」で新しいステータスを登録します
* /
関数njengah_register_awaiting_shipment_status(){
register_post_status( 'wc-njengah-shipment'、array(
'ラベル' => '出荷待ち'、
'public' => true、
'show_in_admin_status_list' => true、//カウントを表示すべて(12)、完了(9)、出荷待ち(2)..。
'label_count' => _n_noop( '出荷待ち<spanclass = "count">(%s)</ span>'、 '出荷待ち<spanclass = "count">(%s)</ span>')
));
}
add_action( 'init'、 'njengah_register_awaiting_shipment_status');
/ *
*登録ステータスをWC注文ステータスのリストに追加します
* @param array $ wc_statuses_arrWebサイト上のすべての注文ステータスの配列
* /
関数njengah_add_status($ wc_statuses_arr){
$ new_statuses_arr = array();
//処理後に新しい注文ステータスを追加します
foreach($ wc_statuses_arr as $ id => $ label){
$ new_statuses_arr [$ id] = $ label;
if( 'wc-completed' === $ id){//「完了」ステータスの後
$ new_statuses_arr ['wc-njengah-shipment'] = '出荷待ち';
}
}
$ new_statuses_arrを返します。
//注文ステータスの順序が重要でない場合は、21〜32行目を削除して、次の35〜36のコメントを外すことができます
// $ wc_statuses_arr ['wc-njengah-shipment'] = '出荷待ち';
// $ wc_statuses_arrを返します;
}
add_filter( 'wc_order_statuses'、 'njengah_add_status');-  これが結果です:  
結論
この投稿では、コアオーダーステータスを非表示にする方法を見てきました。 ただし、削除する注文ステータスは、エラーにつながる可能性があるため、ストアのどこにも使用されていないことに注意してください。 さらに、カスタムオーダーステータスを追加する方法を共有しました。 コードの処理に慣れていない場合は、資格のあるWordPress開発者に連絡してください。

同様の記事
- WooCommerceアップデート通知を非表示にする方法
- ストアフロントチェックアウトページをカスタマイズする方法
- WooCommerceストアフロントブログの設定方法
- WooCommerceの在庫数を非表示にする方法
- WooCommerceストアフロントサイトマップを追加する方法
- WooCommerceストアフロント数量割引を追加する方法
- ストアフロントの並べ替えオプションを削除、名前変更、追加する方法
- WooCommerceで商品タブのタイトルを非表示にする方法
- WooCommerce製品の可視性オプションを変更する方法
- ユーザーロールストアフロントに基づいて製品価格を非表示にする方法
- 続きを読むを非表示にしてカートボタンに追加する方法WooCommerce
- SKU、カテゴリ、タグを非表示にする方法メタ製品ページWooCommerce
- WooCommerce登録フォームを非表示にする方法
- WooCommerce製品属性の使用方法ステップバイステップ[完全ガイド]
- セールバッジWooCommerceストアフロントを削除または名前変更する方法
- WooCommerceで注文ステータスメッセージの名前を変更する方法
- カートページを削除する方法WooCommerceストアフロントテーマ
- パンくずリストを削除する方法WooCommerceストアフロント
- WooCommerceでカスタムオーダーステータスを追加する方法
- WooCommerceで注文を自動承認する方法
