Welcartで在庫数を表示させるテンプレートタグについてです。
在庫数の表示、在庫数が無い場合の条件分岐は同じテンプレートタグで行います。
在庫数を表示するテンプレートタグ
在庫数を表示するテンプレートタグはusces_the_itemZaikoNum()
です。ループ内かつ、usces_the_item()
関数とusces_have_skus()
関数より下に記述しなければ在庫数が表示されないので注意です。
変数に格納したい場合は引数に「’return’」を指定しましょう。以下、サンプルです。
<?php if (have_posts()) : the_post(); ?>
<?php usces_the_item(); ?>
<?php usces_have_skus(); ?>
<?php //在庫数の表示。ループ内かつ上記2つの関数より下じゃないと機能しません ?>
在庫数: <?php usces_the_itemZaikoNum(); ?>個
<?php
//変数に格納する場合は引数に'return'を指定する
$zaikoNum = usces_the_itemZaikoNum('return');
echo '在庫数' . $zaikoNum . '個';
?>
<?php endif; ?>
在庫数が無い場合の条件分岐
在庫数の有無による条件分岐は引数に「’return’」と指定し、返ってきた値で判定します。以下サンプルです。
<?php if (have_posts()) : the_post(); ?>
<?php usces_the_item(); ?>
<?php usces_have_skus(); ?>
<?php if(usces_the_itemZaikoNum('return')) : ?>
<!-- 在庫数が有る場合の処理 -->
<p>在庫数: <?php usces_the_itemZaikoNum(); ?>個</p>
<?php else: ?>
<!-- 在庫数が無い場合の処理 -->
<?php endif; ?>
<?php endif; ?>
この関数が定義されてるファイル
この在庫表示をするusces_the_itemZaikoNum()
関数は、プラグインフォルダ内「usc-e-shop/functions/template_func.php」の278行目辺りで定義されてます。
以下が関数定義されているソースコードです。
function usces_the_itemZaikoNum( $out = '' ) {
global $usces;
$num = $usces->itemsku['stocknum'];
if( $out == 'return' ) {
return $num;
} else {
echo number_format( $num );
}
}