1.8.5へアップデート後にカスタムしていた受注ステータスが反映しない
- このトピックには3件の返信、2人の参加者があり、最後にtwinpiltzdazeにより8年、 4ヶ月前に更新されました。
-
投稿者投稿
-
2016年6月20日 3:23 PM #79484
いつもWelcartを利用させて頂いております。
本日クライアント様からご連絡頂き下記と同じ症状のものを解決するべく1.5.3から1.8.5へアップデートを行いました。
https://www.welcart.com/community/forums/topic/%E3%82%AF%E3%83%AC%E3%82%B8%E3%83%83%E3%83%88%E3%82%AB%E3%83%BC%E3%83%89%E6%B1%BA%E6%B8%88%E3%81%A7%E3%81%AE%E5%85%A5%E9%87%91%E7%8A%B6%E6%B3%81%E6%AC%84%E3%81%AE%E8%A1%A8%E7%A4%BAプラグインアップデート後に受注リスト画面を見てみたのですが、
これまで下記のソースを用いて、受注ステータスを2種類任意で追加しておりました。function ups_order_status($management_status){
$management_status[‘custom1’] = ‘入金済み’;
$management_status[‘custom2’] = ‘注文確認済み’;
return $management_status;
}
add_filter(‘usces_filter_management_status’,’ups_order_status’);アップデート前までは受注一覧の対応状況にて、追加した2種類のものが反映されていたのですが、アップデート後「入金済み」「注文確認済み」にしてあった受注は、受注一覧では全て「新規受付」と表示されてしまっております。
ただし個別の受注詳細画面では設定した2つのステータスは反映されているようです。
1.8.5で受注一覧画面で追加したステータスを反映させるにはどのようにすれば良いでしょうか?
ご教示頂けますと幸いです。宜しくお願い致します。
2016年6月20日 5:40 PM #79488yskysmrキーマスターこんにちは。
こちらのトピックを参照してください。
http://goo.gl/cR3KJr2016年6月20日 6:14 PM #79489yskysmr様
ご連絡いただきましてありがとうございました。
該当のトピックを確認し、function.phpに色々とソースを書いてみたのですが、
理想の動作を行う事が出来ませんでした。これまでに書いていた
function ups_order_status($management_status){
$management_status[‘custom1’] = ‘入金済み’;
$management_status[‘custom2’] = ‘注文確認済み’;
return $management_status;
}
add_filter(‘usces_filter_management_status’,’ups_order_status’);というのはそのままにしている状態で、
新しく「usces_filter_orderlist_process_status」というフックを使ってコードを記述させるのかと考えたのですが、
どのように記述すれば「入金済み」「注文確認済み」のステータスを
受注一覧画面に表示させる事が出来るのかが分かりません。また「操作フィールド表示」→「一括操作」→「対応状況」の検索部分では、上記2つのステータスは表示されています。
大変お手数をおかけして申し訳ないのですが、ご教示頂く事は出来ないでしょうか?
またwelcart自体はDeveropment Versionにしてあります。
どうぞ宜しくお願い致します。
2016年7月4日 2:08 PM #79593なんとか自己解決出来ましたのでシェアします。
(例)ステータスに「入金済み」を追加して受注リスト一覧に「入金済み」が出力されるようにする場合
functions.phpに
function my_usces_filter_management_status($management_status){
$management_status[‘custom1’] = ‘入金済み’;
return $management_status;
}
add_filter(‘usces_filter_management_status’,’my_usces_filter_management_status’);でステータスに項目を追加して、
function my_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(‘custom1’, $value) ){
$process_status = esc_html(‘入金済み’);
}else{
$process_status = esc_html(__(‘new order’, ‘usces’));
}
return $process_status;
}
add_filter(‘usces_filter_orderlist_process_status’,’my_filter_orderlist_process_status’, 10, 3, 2);で受注リストに項目が表示されるようになりました。
上記の場合は「新規受付 / 取り寄せ中 / キャンセル / 発送済み / 入金済み」の5項目を使用する場合なので、他の項目を使用する場合は、
my_filter_orderlist_process_statusのifとelseif部分を使用する項目分だけ分岐させる必要がある?と思っています。もっとスマートなやり方があればどなたか宜しくお願い致します。
-
投稿者投稿
- このトピックに返信するにはログインが必要です。