専業主夫(アフィリエイター)のブログです

なんちゃって主夫業のかたわら、細々とアフィリエイトやっています。

WordPressショートコードで消費税の計算を自動化する方法

f:id:lavitaebella:20210221134839p:plain

お久しぶりの副長です。

4月から消費税の総額表示が義務化されることになり、アフィリエイト界隈でも話題になっていますね。

No.6902 「総額表示」の義務付け|国税庁

商品価格を手打ちで記載していると、こういうときに修正が大変になります。
私がWordPressで記事を書くときは、以前から価格の部分をショートコードで記載していました。

ショートコードにしておくと表記修正も非常にラクなので、この機会にご紹介します。

ショートコードを作るにはfunctions.phpに追記する

WordPressでショートコードを使うには、テーマフォルダにあるfunctions.phpに追記する方法が確実です。
プラグインを使う方法もありますが、あまりプラグインに依存すると将来のアップデートに対応できないので、あまりオススメできません。

//消費税の計算
function tax_func($atts){
    extract( shortcode_atts( array(
        'p' =>0,     //税抜価格(初期値0)
    ), $atts) );
    $ret = number_format(floor($p*1.1)).'円';
    return $ret;
}
add_shortcode('tax','tax_func');

 こんな感じでfunctions.phpに追記して、

f:id:lavitaebella:20210221133315j:plain

WordPressの投稿画面でショートコードを書けば、

f:id:lavitaebella:20210221133414j:plain

このように表示されるはずです。

軽減税率に対応する

サプリなどの食品類を掲載している記事だと、軽減税率にも対応したいですよね。

//消費税の計算(軽減税率対応版)
function tax_func($atts){
    extract( shortcode_atts( array(
        'p' =>0,     //税抜価格(初期値0)
        'r' =>0,     //軽減税率の対象である場合は1、対象外は0
    ), $atts) );
    if($r == 1){
        $rate = 1.08;
    }else{
        $rate = 1.1;
    }
    $ret = number_format(floor($p*$rate)).'円';
    return $ret;
}
add_shortcode('tax','tax_func');

 軽減税率に対応させるには、上記のようなショートコードを追記します。

f:id:lavitaebella:20210221133825j:plain

投稿画面でこのように書くと、

f:id:lavitaebella:20210221133939j:plain

このように軽減税率で計算した結果を出してくれます。

functions.phpの追記は子テーマで行う

functions.phpを下手にイジってしまうと、エラーが出てサイトが表示されないというトラブルが起きることがあります。

そんなトラブルを避けるには、子テーマのfunctions.phpを改変する方法が良いです。

最近はテーマの配布元でも、改変用の子テーマを用意してくれていますね。

wp-cocoon.com

on-store.net

CSSを改変するときも、子テーマで行ったほうが無難ですね。

なるべく将来の修正作業を減らす

せっかくWordPressを使っているのなら、このようにショートコードを活用してメンテナンス作業を省力化したいですね。

消費税以外でも、

  • 本体価格の改定
  • 商品名の変更
  • スペックの変更

といったケースでも柔軟に対応できるようになりますよ。