カートページの手数料表記を書き換えると注文確認メールの手数料表記が空欄になる

フォーラム 使い方全般 カートページの手数料表記を書き換えると注文確認メールの手数料表記が空欄になる

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

    お世話になります。
    Welcartのカートページの手数料表記を、例えば下記のようにしたく、下記のコードを追加した所、カートの最終確認ページでは正しく書き換わるのですが、注文確認メールの手数料の表記が空欄になってしまいます。

    例)
    代引の場合 = 「代引手数料」と表記
    カードの場合 = 「カード利用手数料」と表記

    下記のコードが原因で注文確認メールの手数料部分が正しく渡っていないようです。

    function my_filter_cod_label() {
    	global $usces_entries;
    	if( $usces_entries['order']['payment_name'] == "代金引換" ) :
    		$text = "代引手数料";
        elseif( $usces_entries['order']['payment_name'] == "カード利用" ) :
    		$text = 'カード利用手数料';
    	endif;
    	
        return $text;
    }
    add_filter( 'usces_filter_cod_label', 'my_filter_cod_label' );

    ネットで調べた所、my_order_confirm_mail_meisai()フィルターを使って表記を書き換えられるとの記載があったため、追加してみましたが変更されませんでした。

    function my_order_confirm_mail_meisai( $meisai, $data, $cart ){
    	if( $data[order_payment_name] == "代金引換" ) :
    		$meisai .= "代引手数料\r\n";
    	elseif( $data[order_payment_name] == "カード利用" ) :
    		$meisai .= "カード利用手数料\r\n";
    	endif;
    	return $meisai;
    }
    add_filter( 'usces_filter_send_order_mail_meisai’,’my_order_confirm_mail_meisai', 10, 3 );

    何処かに記述に間違いがあれば教えていただけると幸いです。

    ——————————————-
    WordPress のバージョン:4.6.1
    Welcart のバージョン:1.9.0
    ご利用のテーマ:独自テーマ
    症状を確認したブラウザ:Mac Safari
    サーバー(会社名、サービス名):XSERVER
    SSLの利用:有り
    WordPress のパーマリンク設定:/%category%/%post_id%/
    ——————————————–

    何卒宜しくお願いいたします。

    #82035
    nanbu
    キーマスター

    こんにちは

    まず、フックはこちらです。
    usces_filter_send_order_mail_payment

    そして、$meisaiはペイメントの記述全てとなりますので、それでは正確には表示できません。
    ******/wp-content/plugins/usc-e-shop/functions/function.php でフックを探してみて下さい。

    #82040
    Jimmys
    参加者

    nanbuさま

    ご回答ありがとうございます。
    usc-e-shop/functions/function.phpの中身を確認した所、417行目にある下記のusces_filter_cod_labelをフックに使えば良いと考えました。

    if ( 0 < $entry['order']['cod_fee'] )
    	$meisai .= apply_filters('usces_filter_cod_label', __('COD fee', 'usces')) . " : " . usces_crform( $entry['order']['cod_fee'], true, false, 'return' ) . "\r\n";

    そこで下記のような記述をテーマファイル内のfunctions.phpにユーザー関数として追加しましたが、やはりメールの「手数料」の表記は空欄のままでした。
    注文確認メールの送料の下に記載される手数料の表記はこのフックではなくご指摘のusces_filter_send_order_mail_paymentで書き換える必要があるのでしょうか?

    function my_filter_cod_label() {
    	global $usces_entries;
    	
    	if( $usces_entries['order']['payment_name'] == "代金引換" ) :
    		$text = "代引手数料";
        elseif( $usces_entries['order']['payment_name'] == "カード利用手数料" ) :
    		$text = 'カード利用手数料(3%)';
    	endif;
    	
        return $text;
    }
    add_filter( 'usces_filter_cod_label', 'my_filter_cod_label' );

    宜しくお願いいたします。

    #93356
    dayan76
    参加者

    自作テーマのfunction.phpに「代引手数料」のラベル表示を変更するフィルターフックを入れています。

    カート内のページとサンキューメールは代引手数料から手数料に変更されるのですが、
    Welcart Management 受注データ編集画面の代引手数料や、
    そのページから送信できるメールに記載されている代引手数料、
    印刷できるPDFに記載されている代引手数料の3つが変更されません。
    どこにも載っていないようなので、困っています。
    他にフィルターがあるのでしょうか?
    教えていただけると助かります。
    宜しくお願い申し上げます。

    function.phpには以下のように入れています。

    function my_filter_cod_label(){
    return ‘手数料’;
    }
    add_filter(‘usces_filter_cod_label’, ‘my_filter_cod_label’, 10, 3);

    ——————————————-
    WordPress のバージョン:5.7.1
    Welcart のバージョン:2.1.1
    PHP のバージョン:7.4.13
    Welcart専用の拡張プラグインとバージョン:WCEX Item List Layout
    ご利用のテーマ:自作テーマ
    症状を確認したブラウザ:Chrome バージョン: 90.0.4430.93
    サーバー【重要】:Xserver
    ——————————————–

    #93379
    sagawa
    キーマスター

    dayan76様

    こんにちは。
    フィルターフックusces_filter_cod_labelで、受注データ編集画面や各PDFの表示も変更されるはずです。
    他にusces_filter_cod_labelが使われていたり、受注データ編集画面をカスタマイズしていることによる影響はないでしょうか?

    #93382
    dayan76
    参加者

    sagawa様

    ありがとうございます。自作していたテーマとの相性が悪かったことが判明しましたので、他のテーマに変更して解決しました。
    usces_filter_cod_labelですが、
    $usces_entries[‘order’][‘payment_name’] == “コンビニ決済”

    で判別できますか?

    #93383
    dayan76
    参加者

    sagawa様

    ありがとうございます。自作していたテーマとの相性が悪かったことが判明しましたので、他のテーマに変更して解決しました。
    usces_filter_cod_labelですが、
    $usces_entries[‘order’][‘payment_name’] == “コンビニ決済”

    で判別できますか?

    もし、お分かりになれば教えていただけると助かります。
    宜しくお願い申し上げます。

    #93393
    sagawa
    キーマスター

    dayan76様

    こんにちは。
    「管理画面 > Welcart Shop > 基本設定」の支払方法欄で支払方法名を「コンビニ決済」と登録しているのであれば判別できます。
    場所によっては$usces_entriesから支払方法名を取ってこれない箇所もありますので、$usces_entriesの値を確認していただければと思います。

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