usces_filter_incart_checkで返すエラーが表示されない

フォーラム その他 usces_filter_incart_checkで返すエラーが表示されない

  • このトピックには9件の返信、3人の参加者があり、最後にnanbuにより10年前に更新されました。
10件の投稿を表示中 - 1 - 10件目 (全10件中)
  • 投稿者
    投稿
  • #72222
    accent
    参加者

    ——————————————-
    WordPress のバージョン:4.0
    Welcart のバージョン:1.4.8.1409231
    ご利用のテーマ:AN TCD014
    症状を確認したブラウザ:chrome
    サーバー(会社名、サービス名):ロリポップ
    SSLの利用: 共用
    WordPress のパーマリンク設定:/archives/%post_id%
    ——————————————–
    はじめまして、よろしくお願いします。
    同時購入をさせたくない商品のskuを Recurring_SKU に配列で管理し
    メッセージを返したいと思っています。

    そこで以下のように、書きました。

    add_filter(‘usces_filter_incart_check’, function($mes, $post_id, $sku) {
    global $usces;
    global $Recurring_SKU;
    $cart = $usces->cart->get_cart();

    if(in_array($sku,$Recurring_SKU)==true)
    {
    if(count($cart) >0)
    {
    $mes[$post_id][$sku]= “こちらの商品は他の商品と同時に購入できません”;
    }
    }
    return($mes);
    }, 99, 5);

    商品はカートに入らないようになりましたが、エラーメッセージが表示されません。
    <div class=”error_message”></div>
    URLには、#cart_button が付加されております。

    ご教授願えると助かります。

    #72224
    yskysmr
    キーマスター

    こんにちは。

    add_filter は、以下のように記述してください。

    add_filter( ‘usces_filter_incart_check’, ‘my_filter_incart_check’, 10, 3 );
    function my_filter_incart_check( $mes, $post_id, $sku ) {
      :
    }
    #72387
    accent
    参加者

    yskysmr 様

    add_filter( ‘usces_filter_incart_check’, ‘my_filter_incart_check’, 10, 3 );
    function my_filter_incart_check( $mes, $post_id, $sku ) {
    :
    }

    のように、書き換えましたが、やはりエラーメッセージは表示されずカートに入れようとした商品ページに戻されるだけの動作になります。

    コーディングが悪いのでしょうか?

    #72484
    nanbu
    キーマスター

    こんにちは。

    何がreturnされているかvar_dumpしてみていますか?
    in_array($sku,$Recurring_SKU)は間違いなくtrueですか?

    #72500
    accent
    参加者

    nanbuさん ありがとうございます。

    $mes[$post_id][$sku]= “こちらの商品は他の商品と同時に購入できません”;
    という形で返っています。

    in_array($sku,$Recurring_SKU) は trueです。

    #72549
    nanbu
    キーマスター

    そうですか。

    では、SKUコードに全角文字を使っていることは無いでしょうか。もしそうでしたら$skuはurlencodeしてやらなくてはいけません。

    それとテンプレート側ですが、この様になっていますでしょうか。

    
    <div class="error_message"><?php usces_singleitem_error_message($post->ID, usces_the_itemSku('return')); ?></div>
    
    #72683
    accent
    参加者

    nanbuさん

    SKUコードは半角英数字です。

    ‘<div class=”error_message”>’ .usces_singleitem_error_message($post->ID, usces_the_itemSku(‘return’), ‘return’). ‘</div>’

    となっています。

    #72808
    nanbu
    キーマスター

    上記コードはwc_teplatesのものではないようですが、テンプレートは何を使っていらっしゃいますか?

    #72845
    accent
    参加者

    nanbuさん お返事ありがとうございます。

    TCDの AN です。

    #72908
    nanbu
    キーマスター

    どちらのテーマか存じませんが、商品詳細ページはwc_templatesを使っていただくのが良いかと思います。

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