カートページの手数料表記を書き換えると注文確認メールの手数料表記が空欄になる
このトピックには2件の返信が含まれ、2人の参加者がいます。3 年、 11 ヶ月前に Jimmys さんが最後の更新を行いました。
-
投稿者投稿
-
2017年2月3日 1:03 PM #82009
お世話になります。
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%/
——————————————–何卒宜しくお願いいたします。
2017年2月6日 5:41 PM #82035こんにちは
まず、フックはこちらです。
usces_filter_send_order_mail_paymentそして、$meisaiはペイメントの記述全てとなりますので、それでは正確には表示できません。
******/wp-content/plugins/usc-e-shop/functions/function.php でフックを探してみて下さい。2017年2月6日 7:40 PM #82040nanbuさま
ご回答ありがとうございます。
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' );
宜しくお願いいたします。
-
投稿者投稿
このトピックに返信するにはログインが必要です。