カートページで消費税を表示する方法
スポンサーリンク
2014年4月から消費税が上がりました。
それまでは長きに渡り「内税」表示が義務付けられていましたが、これを機に「外税」表示が認められ、表示を変更したWelcartユーザーさんも多いと思います。
そこで今日のお題は、「外税の時、カートページに消費税金額を表示する」です。
もくじ
1. Welcartの消費税の仕様
Welcartでは、バックエンドで税率を入力すると「外税」となる仕様です。空欄にすると「内税」となり、商品毎の価格入力で、総額を入れる必要があります。
「外税」の場合は、消費税額は注文時の一番最後の「内容確認」画面でしか確認出来ません。
2. 「余計にお金がかかるとわかって買うのをやめた」はカゴ落ち理由の56%
「何故オンライン顧客は何も買わずにサイトを去るのか?」というアメリカStatista社のリサーチで、堂々の1位に輝いているのが、「予期しないコストが表示された」です。
日本に住んでいる人であれば、税金表示が変わったのはある程度は承知しているとは想像出来ます。
しかし、それでも消費者としては出来るだけ早く、総額がいくらかなのを知りたいというのが本音でしょう。
そこで、カートページに消費税額と税込みの合計額を表示しようというわけです。
この方法は、Welcartのバックエンドで設定した税率を自動的に取得するので、今後税率が変わっても対応可能です。
3. カートページテンプレートを退避
カートページをカスタマイズする場合は、使用中テーマにカートページテンプレートのwc_cart_page.phpを設置(退避)させる必要があります。
wc_cart_page.phpは、Welcartプラグインフォルダ内の以下の位置にあります。
usces-e-shop/theme/welcart_default/wc_templates/cart/wc_cart_page.php
これをコピーし、使用中テーマ内に設置(ペースト)。
設置場所は、プラグインフォルダのデフォルトテーマフォルダ(welcart_default)の位置関係と同じようになるように、wc_templatesフォルダ・cartフォルダを作り、その中に入れます。
- 使用中のテーマ
- wc_templates
- cart
- wc_cart_page.php ←ココ
- cart
- wc_templates
このように使用中テーマにWelcart用テンプレートを設置すると、使用中テーマ内のテンプレート優先して読み込まれるようになります。
4. 消費税を表示するコードを挿入
退避させたwc_cart_page.phpに、消費税額と税込みの合計金額を表示させるコードを挿入します。
コードの挿入場所
挿入場所は、「商品合計(税別)」の下の行です。
上の画像の例では「キャンペーン割引の値引き表示をカート画面にも」のカスタマイズも加えています。
今回の表示では割引の合計金額に消費税率を掛ける計算をしているので、割引セールを行う可能性がある場合は、割引金額の表示も合わせて行っておくことをお勧めします。
消費税額と税込み合計金額のコード
商品合計は<table cellspacing=”0″ id=”cart_table”>タグ内の、<tfoot>の中に書かれています。
その</tfoot>(閉じタグ)直前に、以下のコードを挿入します。
2014/8/25更新:他記事のコメント欄にてgetTaxを使った方法をご教示頂いたので、コードを一部改善しました。
<?php if ( 'exclude' == $this->options['tax_mode'] ): ?> <?php $total_price = usces_total_price('return') - usces_order_discount('return'); $tax = $this -> getTax( $total_price ); ?> <tr> <td colspan="5" class="aright"><?php _e('consumption tax', 'usces'); ?></td> <td class="aright"><?php echo usces_crform($tax, true, false); ?></td> <td colspan="2"> </td> </tr> <tr> <th colspan="5" class="aright"><?php _e('total items','usces'); ?><em class="tax">(税込)</em></th> <th class="aright"><?php echo usces_crform(($total_price + $tax), true, false); ?></th> <th colspan="2"> </th> </tr> <?php endif; ?>
コードは3つのパートに分かれています。
- キャンペーン割引を引いた商品合計金額と、それに対する消費税額をあらかじめ計算(2~6行目)
- 消費税額を表示する行を出力(7~11行目)
- 税込みの商品合計金額を表示する行を出力(12~16行目)
こんな感じで表示されます。
5. まとめ
通常なら「内容確認」でしか表示されない消費税。ただ「内容確認」テンプレートのコードをそのまま移植しても、税金表示はうまくされないため、オリジナルのカスタマイズとなりました。消費税額の取得にはgetTaxというタグを使ってもいいかもしれません。
最終の「内容確認」ページでは送料を含めたりポイント割引を行ったりするため、消費税の数字も変わってくる可能性もあります。飽くまでも「カートに入っている商品についてのみの消費税額と合計金額」「送料は別途」等と注意書きで書いておくと良いかもしれません。
配送方法が1種類しかない場合は、送料の行も加えてもいいかもしれませんね。
参考にして、やってみたのですが。。
(税込)
上記が文字化けをおこします。
対策は、ないのでしょうか
ファイルを保存する際に、文字コードが「UTF-8(BOMなし)」となっているかどうか、ご覧になってみて下さい。
出来ました。
ありがとうございます