[Welcart]在庫数を表示させる ~ 在庫数が無い場合の条件分岐

  • 更新日:
  • 公開日:

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 );
    }
}

参考元:

Welcart コミュニティー|ECサイト構築プラグイン » 在庫数の表示と”売り切れ”

書いた人

Symbol Mark

Ryoichi(しつ)

除菌ティッシュを買い込んで使いきれずによく乾かす人。

療養目的で退職し、どうやって生きていくか模索中。最近は勉強目的でLaravelやVue.js弄ったり、趣味で音で遊んでます。

※2019年10月16日現在ブログリニューアル中です。崩れなどが発生していたらすみません。

うぇぶ: @s_ryone