チェックアウトページの決済説明箇所のハードコードの編集について
-
Paidyのコンビニ払いの決済手数料が税込み350円から356円になるということで、チェックアウトページに表記されている手数料の箇所を修正しようと思ったのですが、ハードコードされており管理画面の決済設定からは変更を行うことができません。
ソースを確認しましたら、
function payment_fields() { // Description of payment method from settings ?> <br /> <a href="https://paidy.com/consumer" target="_blank"> <img src="<?php echo WC_PAIDY_PLUGIN_URL;?>assets/images/checkout_banner_320x100.png" alt="Paidy 翌月まとめてお支払い" style="max-height: none; float: none;"></a> <br /> <p><?php echo $this->description; ?></p> <br /> <ul> <li style="list-style: disc !important;">口座振替(支払手数料:無料)</li> <li style="list-style: disc !important;">コンビニ(支払手数料:350円税込)</li> <li style="list-style: disc !important;">銀行振込(支払手数料:金融機関により異なります)</li> </ul> Paidyについて詳しくは<a href="https://paidy.com/whatspaidy" target="_blank">こちら</a>。 <?php }
となっており、プラグインソースの直接編集以外に対応が難しくなっています。
また文字の大きさなどCSSで表示体裁を変更しようとしても、
htmlのマークアップが構造化されておらず(タグのないテキストノード,CSSの!importantをつかったスタイリング,改行コードを使ったレイアウト等)
まさにハードコーディングという感じになっています。取り急ぎの対応として、以下のフィルターフックをつかって強引に対応しています。
add_filter( 'woocommerce_available_payment_gateways', 'change_custom_payment_description' ); function change_custom_payment_description( $available_gateways ) { if (! is_checkout() ): return $available_gateways; endif; if (array_key_exists('paidy', $available_gateways)): $available_gateways['paidy'] -> description = <<<EOF <div id="paidy-description"> <style type="text/css" media="all"> #payment_method_paidy { margin-bottom:0; } .payment_box.payment_method_paidy { display:none; } #paidy-banner { display:block; margin:10px 0; text-align:center; } #paidy-banner img { max-height:100px; max-width:85%; } #paidy-content { margin:10px 0; } #paidy-methods { margin:10px 0; padding:0; } #paidy-methods li { list-style:disc inside; } #paidy-methods li span { font-size:95%; padding-left:0.2em; } </style> <script> jQuery(function($) { $('.payment_box.payment_method_paidy').html($("#paidy-description").html()); $('.payment_box.payment_method_paidy').show(); }); </script> <a id="paidy-banner" href="https://paidy.com/consumer" target="_blank"> <img src="/PATH/paidy_banner_320x100.png" alt="Paidy 翌月まとめてお支払い"> </a> <p id="paidy-content"> メールアドレスと携帯電話番号のみで利用できる、ペーパーレス後払い決済のPaidyをご利用いただけます。<br> 月に何回お買い物をしても、お支払いは翌月にまとめて1回。お支払いには、以下方法がご利用いただけます。 </p> <ul id="paidy-methods"> <li>口座振替<span>(手数料:無料)</span></li> <li>コンビニ<span>(手数料:税込356円)</span></li> <li>銀行振込<span>(手数料:銀行毎に異なります)</span></li> </ul> <p id="paidy-detail">Paidyについて詳しくは<a href="https://paidy.com/whatspaidy" target="_blank">こちら</a>。</p> </div> EOF; endif; return $available_gateways; }
jQueryで非表示化やhtmlの入れ替えを行っており、かなり強引な形となっています。
こちらについて、管理画面から変更可能なdescription以外の箇所はハックなことをせずとも編集可能にしていただくか、フィルターフックを追加していただき外部関数から変更可能にしていただけるなどのご対応をお願いします。
※githubでソースコードを管理いただけるようでしたらプルリクエストをお送りします。
Viewing 4 replies - 1 through 4 (of 4 total)
Viewing 4 replies - 1 through 4 (of 4 total)
- The topic ‘チェックアウトページの決済説明箇所のハードコードの編集について’ is closed to new replies.