Welcart の受注データでは対応状況として「新規受付」「取り寄せ中」「キャンセル」「発送済み」の 4 つの状態が最初に用意されています。受注データを管理をする上でこちらの状態の他に対応状況を追加したい場合、カスタマイズにて追加することができます。既にある状態の名称をわかりやすい名前に変更することもできます。
カスタマイズにはフックを利用します。フックの仕組みや使い方についてはこちらの記事をご確認ください。
カスタマイズを行うにはテーマ内の PHP ファイルの編集を行う必要があります。ご自身での対応に自信がない場合、カスタマイズ対応も承っておりますのでお問い合わせフォームからお気軽にお問い合わせください。
フックの利用準備
使用するフック
- usces_filter_management_status
フック記述箇所
- usc-e-shop/classs/orderList.class.php、他
テーマの functions.php の一番下に下記のコードを追加します。一番下に ?> が書かれている場合はその上に追加してください。
add_filter('usces_filter_management_status','customize_filter_management_status', 10);
function customize_filter_management_status($management_status) {
// $management_status の追加、変更処理をここに書きます。
return $management_status;
}
対応状況は以下のように、$management_statusという変数の中に保存されています。入金状況も同じ変数で管理されていますので、対応状況としては使っていない値も保存されています。
$management_status = array(
'duringorder' => __( 'temporaly out of stock', 'usces' ), // 取り寄せ中
'cancel' => __( 'Cancel', 'usces' ), // キャンセル
'completion' => __( 'It has sent it out.', 'usces' ), // 発送済み
'estimate' => __( 'An estimate', 'usces' ), // 見積り
'adminorder' => __( 'Management of Note', 'usces' ), // 管理受注
'continuation' => __( 'Continuation', 'usces' ), // 継続課金
'termination' => __( 'Termination', 'usces' ), // 継続課金解除
);
こちらの$management_statusを変更することができるusces_filter_management_statusフックを利用し、追加、名称を変更するコードを追加しカスタマイズを実装します。
カスタマイズ例
新しく「発送準備中」「確認中」の状態を追加する場合
add_filter('usces_filter_management_status','customize_filter_management_status', 10);
function customize_filter_management_status($management_status) {
$management_status['preparation'] = '発送準備中';
$management_status['confirm'] = '確認中';
return $management_status;
}
$management_statusに状態を追加します。複数の状態を追加することもできます。
preparationとconfirmの部分は既に使われていない物であればどのような単語でも構いませんが、わかりやすい単語を付けることを勧めます。
「お取り寄せ中」の状態の名称を「準備中」に変更する場合
add_filter('usces_filter_management_status','customize_filter_management_status', 10);
function customize_filter_management_status($management_status) {
$management_status['duringorder'] = '準備中';
return $management_status;
}
$management_status['duringorder']の値を変更して、お取り寄せ中の状態の名称を「準備中」に変更しています。
受注リスト一覧での対応状況の表示の変更カスタマイズ
対応状況を追加した場合は、受注リスト一覧の対応状況の欄が正しく表示されるように以下のコードも追加してください。名称を変更しただけの場合は自動で反映されますので不要となります。
add_filter('usces_filter_orderlist_process_status', 'customize_usces_filter_orderlist_process_status', 10, 3);
function customize_usces_filter_orderlist_process_status($process_status, $value, $management_status) {
global $usces;
if( $usces->is_status('duringorder', $value) ){
$process_status = esc_html($management_status['duringorder']);
} elseif( $usces->is_status('cancel', $value) ){
$process_status = esc_html($management_status['cancel']);
} elseif( $usces->is_status('completion', $value) ){
$process_status = esc_html($management_status['completion']);
} elseif( $usces->is_status('preparation', $value) ){ // 追加した状態
$process_status = esc_html($management_status['preparation']);
} elseif( $usces->is_status('confirm', $value) ){ // 追加した状態
$process_status = esc_html($management_status['confirm']);
} else{
$process_status = esc_html(__('new order', 'usces'));
}
return $process_status;
}
preparationとconfirmの部分は新しく追加した状態に対応する単語に変えてください。
また複数の状態を追加した場合は 11 行目と 12 行目の部分を追加した数の分だけ記載します。
確認方法
受注リストから受注情報を表示していただくと、対応状況の欄に追加、名称変更した対応状況が反映されています。
また、受注リスト一覧でも追加、名称変更した対応状況が表示されます。
最後に
こちらのカスタマイズを行っていただくと、受注データの対応状況の追加や名称の変更をすることができますのでぜひ利用してみてください。