usces_filter_post_quantを使用するとカートに在庫以上の商品が追加されるのですが

フォーラム 使い方全般 usces_filter_post_quantを使用するとカートに在庫以上の商品が追加されるのですが

  • このトピックには4件の返信、2人の参加者があり、最後にkomutaiにより9年、 5ヶ月前に更新されました。
5件の投稿を表示中 - 1 - 5件目 (全5件中)
  • 投稿者
    投稿
  • #74431
    komutai
    参加者

    ——————————————-
    WordPress のバージョン:4.2.2
    Welcart のバージョン:1.4.15
    ご利用のテーマ:自作(制作中)
    症状を確認したブラウザ:Chrome、Firefox
    サーバー(会社名、サービス名):ロリポップ
    SSLの利用:無
    WordPress のパーマリンク設定:投稿名
    ——————————————–

    テーマ自作中です。

    カートへの商品追加の際の個数を
    上書きから追加方式に変更するために
    functions.phpに次の様に記述したのですが、

    add_filter( 'usces_filter_post_quant', 'my_usces_filter_post_quant',10,2);
    function my_usces_filter_post_quant($post_quant, $quant){
    	$post_quant += $quant;
    	return $post_quant;
    }

    商品をカートに追加した際に、
    在庫の減算が行われていないため、
    カートに追加する商品の個数が在庫数内であれば、
    繰り返し在庫数を超えて商品をカートに追加できるようです。
    (在庫数が2の商品の場合、2個ずつカートに追加でき、
    カートの中の商品数が、2個、4個、6個と増えていく。)

    お客様情報や発送先の入力画面にいく直前にエラーが出るので、
    在庫数を超えて注文することはできないのですが、
    そもそも在庫数を超えてカートに商品を入れることができないようにしたいのです。

    何か簡単に回避する方法はあるでしょうか。

    #74439
    yskysmr
    キーマスター

    こんにちは。

    カートに入れる数量を「追加方式」にしたのであれば、その追加した数量で在庫チェックを行うように、(フックを使って)チェックを書き換えなければいけないのではないでしょうか。「簡単に」とはいかないと思います。

    #74462
    komutai
    参加者

    有り難う御座います。
    実現できるか試してみたいと思います。

    カート1ページ目で[次へ]を押せば、
    ちゃんとエラーが表示されるので、
    そこの処理を移してくれば、
    どうにかなるのではと思ったりもするのですが、
    本職プログラマーではないので、
    なかなか思うようにいきません(^^;)

    理想としては商品個別ページの
    数量チェックのJavascriptを
    書き換えるのが一番だと思いますが、
    コードを追い切れずに、
    どうやって書き換えるのかさっぱり。

    自分の手には負えないかも知れないとも思うのですが、
    もし、在庫の数量チェックに適したフックをご存じでしたら、
    ご教示頂ければ幸いです。

    #74467
    yskysmr
    キーマスター

    フックは、カート追加時はusces_action_inCart_js_check、数量更新時はusces_action_upCart_js_checkで実現できるかと思います。

    #74471
    komutai
    参加者

    有り難う御座います(^^)
    上手くできるか分かりませんが、やってみます。

5件の投稿を表示中 - 1 - 5件目 (全5件中)
  • このトピックに返信するにはログインが必要です。