解決済特定条件下の在庫減算処理について
-
投稿者投稿
-
2022年6月21日 12:50 PM #97215
nm10
参加者お世話になっております。
商品オプションを設定して同一SKUに対してオプションを変えてカートに入れ購入した場合に、正しく在庫が減算されないように見えます。
試した例ですがSKU01を設定し、シングルセレクトの必須タイプで「ポーク」と「チキン」を設定し、
それぞれ2個の計4個購入しようとすると2個分しか在庫が減少しませんでした。私なりに調べて見ましたが、
wp-content\plugins\usc-e-shop\includes\product\wel-item-class.php
get_post_meta() 中の
wp_cache_get( $cache_key );
が影響を与えている様に見えます。wp-content\plugins\usc-e-shop\functions\function.php
usces_update_sku() にて在庫数が更新された際にキャッシュも更新するか既にある場合は破棄されていないために、
wp-content\plugins\usc-e-shop\functions\filters.php
usces_action_reg_orderdata_stocks() 中のforeachにて2回ループが回った際に古い在庫数が呼ばれてしまうため最後の分の商品個数しか在庫が減少しないのではないかと思われます。短期的な解決策として、
wp-content\plugins\usc-e-shop\includes\product\wel-item-class.php
public function get_skus( $keyflag = ‘sort’, $cache = true ) {
を
public function get_skus( $keyflag = ‘sort’, $cache = false ) {
へ変更すると正しく減少する事は確認出来ましたが、この対処が他へ影響を与えるのか分からず本番のサイトでは修正出来ておりません。正しこの場合も本来であれば
wp-content\plugins\usc-e-shop\classes\usceshop.class.php
getItemZaikoNum()中の、
$skus = wel_get_skus( $post_id, ‘code’ );
を
$skus = wel_get_skus( $post_id, ‘code’, false );
へ変更する事が良さそうに思えますが、それには
wp-content\plugins\usc-e-shop\includes\product\wel-item-functions.php
wel_get_skus()中の、
$WelItem->get_skus( $sortkey );
を
$WelItem->get_skus( $sortkey, $cache );
としないと正しく動作しないように見えます。ややこしいので公式な修正を待てればと思うのですがもし簡易に何か出来る事があればお教え頂ければ幸いです。
あるいはそもそも何かの勘違いで設定に不備等があるようでしたらご指摘頂ければ幸いです。どうぞ宜しくお願い致します。
———————————————————–
WordPress のバージョン:6.0.0
Welcart のバージョン:2.6.9.2205311
PHP のバージョン:7.4.29
Welcart専用の拡張プラグインとバージョン:WCEX Auto Delivery 1.5.1
ご利用のテーマ:Welcart Panetteria
症状を確認したブラウザ:chrome
サーバー【重要】:お名前.com レンタルサーバー2022年6月22日 10:13 AM #97220
ikdキーマスターnm10 様
こんにちは。
ご報告いただきありがとうございます。
いずれもご指摘のとおりでございます。
次期バージョンにて修正いたしますので、しばらくお待ちいただければと思います。
ご不便をおかけしまして申し訳ございません。2022年6月22日 10:37 AM #97222nm10
参加者ikeda様
ご返信頂きましてありがとうございます。
修正予定との旨、了解致しました。
どうぞよろしくお願い致します。2022年6月27日 3:29 PM #97241nm10
参加者ikeda様
こちら2.6.10にて正しく減算されている事が確認出来ました。
修正頂きましてありがとうございました。2022年6月27日 3:39 PM #97244
ikdキーマスターnm10 様
ご確認いただきありがとうございます。
今後ともWelcartをどうぞよろしくお願いいたします。 -
投稿者投稿
- このトピックに返信するにはログインが必要です。
PAGE TOP