8

WooCommerce の注文ステータスを「完了」から「注文受付」に変更したいと考えています。wc-order-functions.php にある以下のスクリプトを編集できますが、コア ファイルを変更したり、プラグインを使用したりしたくありません。

functions.php子テーマのファイル内のスクリプトで woocomerce 関数を上書きすることは可能ですか?

function wc_get_order_statuses() {
  $order_statuses = array(
    'wc-pending'    => _x( 'Pending Payment', 'Order status', 'woocommerce' ),
    'wc-processing' => _x( 'Processing', 'Order status', 'woocommerce' ),
    'wc-on-hold'    => _x( 'On Hold', 'Order status', 'woocommerce' ),
    'wc-completed'  => _x( 'Completed', 'Order status', 'woocommerce' ),
    'wc-cancelled'  => _x( 'Cancelled', 'Order status', 'woocommerce' ),
    'wc-refunded'   => _x( 'Refunded', 'Order status', 'woocommerce' ),
    'wc-failed'     => _x( 'Failed', 'Order status', 'woocommerce' ),
  );
  return apply_filters( 'wc_order_statuses', $order_statuses );
}
4

4 に答える 4

20

注文ステータスの名前を「完了」から「注文受付」に変更するだけです。簡単で、フックを使用してこの方法で実行できます(このスニペットをアクティブな子テーマファイルwc_order_statusesに貼り付けます)。function.php

add_filter( 'wc_order_statuses', 'wc_renaming_order_status' );
function wc_renaming_order_status( $order_statuses ) {
    foreach ( $order_statuses as $key => $status ) {
        if ( 'wc-completed' === $key ) 
            $order_statuses['wc-completed'] = _x( 'Order Received', 'Order status', 'woocommerce' );
    }
    return $order_statuses;
}

コードは、アクティブな子テーマ (またはアクティブなテーマ) の function.php ファイルに入ります。テスト済みで動作します。

2018 年更新- 名前を変更するには、注文リスト ページで:
• 一括アクション ドロップダウン
• 注文ステータス タブ(カウント付き)
参照: Woocommerce で複数の注文ステータスの名前を変更する

その他の関連資料: woocommerce でカスタム注文ステータスを作成する方法

于 2016-06-13T17:32:27.777 に答える
2

私も似たような願いを持っていたのですが、なぜか私のショップではロイックのソリューションがうまくいきませんでした。そこで、私の簡単な解決策を共有したいと思います。

無料のプラグインLocoTranslateを使用すると、言語の注文ステータスの名前を簡単に変更できます。あなたのページが翻訳を必要としない場合 (つまり、英語で書かれている場合) は、まだ便利かもしれません。

まったく新しい翻訳ファイルを作成し、元の名前を置き換える新しい注文ステータスのみを入力するだけです。フィールドが空の場合、他のすべての用語はこの言語ファイルの影響を受けません (ページ設定でこの疑似翻訳を有効にすることを忘れないでください)。

このようにして、WooCommerce更新が影響しない可能性が高くなります。

于 2017-04-07T10:46:57.870 に答える