「番地」の必須を任意にする処理

フォーラム 使い方全般 「番地」の必須を任意にする処理

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

    カートページの「番地」を任意にする処理をテーマ内のfunctions.phpにフィルターフック(usces_filter_customer_check)を追加して対応しました。

    ただ、発送先に「別の発送先を指定する」で番地が未入力の場合エラーが表示されてしまいます。

    コアファイル(usceshop.class.php)を調べた所、配送先情報delivery_check()で処理をしているようでしたが、ここでは配送情報や決済に関するエラーチェックをしており、delivery_check()の処理をテーマ内のfunctions.phpに入れてもコアファイル内の関数の読み込みなどの処理があるためエラーになりました。

    下記のように番地エラーの文字列を取り除く処理を入れたのですが、やり方がスマートではないため、これ以外の方法でテーマファイル内のfunctions.phpで実行できるdelivery_check()の処理方法はないでしょうか?

    function my_filter_delivery_check( $mes ) {
        if( isset($_POST['delivery']['delivery_flag']) && $_POST['delivery']['delivery_flag'] == 1 ) {
            
            if( strpos( $mes, '番地' ) !== false ){
    	        $mes = str_replace( '番地を入力してください。<br />', '', $mes );
    	    }
            return $mes;
        }
    }
    add_filter( 'usces_filter_delivery_check', 'my_filter_delivery_check', 10 );

    宜しくお願い致します。

    ——————————————-
    WordPress のバージョン:4.8
    Welcart のバージョン:1.9.2
    Welcart専用の拡張プラグイン:なし
    ご利用のテーマ:自作テーマ
    症状を確認したブラウザ:Mac Safari
    サーバー:さくらサーバ
    SSLの利用:常時SSL
    WordPress のパーマリンク設定:/%category%/%post_id%/
    ——————————————–

    #83776
    yskysmr
    キーマスター

    こんにちは。

    usces_filter_delivery_check フィルターを使って処理を上書きする場合は、$this ではエラーになりますので、必ず global $usces; を宣言し、$this$usces に書き換えてください。

    #83779
    Jimmys
    参加者

    yskysmrさま

    回答ありがとうございます。
    無事動作するようになりました!
    ありがとうございました!

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