「smart custom feild」が入っている前提。
税込計算をするためfunction.phpに以下を入力
消費税が8%の場合
function including_tax($attr) {
$price = floor($attr[0]*1.08);
return $price;
}
add_shortcode('price', 'including_tax');
消費税8%びの場合は、「*1.08」と記述。
消費税が8%から10%へ変更された場合
function including_tax($attr) {
$price = floor($attr[0]*1.1);
return $price;
}
add_shortcode('price', 'including_tax');
「*1.08」を「*1.10」と記述するだけ。
税抜き金額が「1000円」の場合、
税込み金額を挿入したい箇所に下記のショートコードを記述。
[price 1000]
すると8%の場合は、1080と表示され、10%の場合じゃ、1100と表示れる
[price 1000]に「円」を入れれば「円」つきで表示されます。
カスタムフィールドで表示させる方法
固定ページの場合は、[price 1000]などど記述すればすぐ表示されるが、
カスタムフィールドはちょっと違う。
普通に
<?php echo post_custom('カスタムフィールド名');?>
記述した場合、ショートコードがそのままでてきてしまう。
なので、
<?php echo apply_filters('the_content', get_post_meta($post->ID, 'カスタムフィールド名', true));?>
と記述しなければならない。
そうすることで、数字だけが出てくる。
カンマで区切りる方法
カンマで区切るには、number_formatを使えば良いのだが、
smart custom feildを使っているせいかエラーが吐き出されてしまう。
<?php
if(get_post_meta($post->ID , 'カスタムフィールド名' ,true)):
$num = get_post_meta($post->ID , 'カスタムフィールド名' ,true);
echo number_format( $num ) ;
endif; ?>
上記を入れると、カンマ区切りで表示されるらしいが、何も表示されなくなってしまったため、
<?php echo apply_filters('the_content', get_post_meta($post->ID, 'カスタムフィールド名', true));?>
上記と合体させて
<?php
if(apply_filters('the_content', get_post_meta($post->ID, 'price', true))):
$num = (apply_filters('the_content', get_post_meta($post->ID, 'price', true)));
echo number_format((int)$num);
endif; ?>
と記述したら見事カンマ区切りで表示された。