生まれ年ワインは何本も在庫があるわけではなく、数本単位でしか仕入れることができなかったりします。
そこで、あと何本だよという表示があったほうが購入を検討してくれているお客様にとって親切です。
この生まれ年ワインにしようかなと考えていて、翌日には売り切れていたらショックは相当ですもん><
目次
商品ページと商品一覧ページ(カテゴリーページ)に在庫数を表示させる方法
商品ページとカテゴリーページだとちょっとカスタマイズが異なります。
商品ページに在庫数を表示させる
いつものように困った時の
『Welcart カスタマイズ ブログ』さん!!
http://welcustom.net/
・・・というか、このカスタマイズは完全に『Welcart カスタマイズ ブログ』さんのサイトマップを見ていて、これもやろうと思ったカスタマイズです。白状すると、今までのカスタマイズの内いくつかもそうです(^^ゞ
さて、今回は「在庫が少なくなってきたら在庫数を表示する方法」の導入です。今回も、『Welcart カスタマイズ ブログ』さんに書いてある通りで設置できるはずです。なので細かい説明は省いて、流れは
・子テーマの中のwc_templatesフォルダにwc_item_single.php を作成
・真ん中あたりの記述
<?php _e('stock status', 'usces'); ?> : <?php usces_the_itemZaikoStatus(); ?>
を
<!--在庫数を実数表示-->
<?php
$stock_rest = usces_the_itemZaikoNum('return');
if( usces_get_itemZaiko('id') <= 1 ){
if( $stock_rest >= 5 ){ //在庫数が5以上の場合
echo '在庫有り';
} elseif ( 0 < $stock_rest && $stock_rest < 15 ){ //在庫数が0より大きく15未満の場合
echo $stock_rest. '点在庫有り';
}
} else { //その他の場合
usces_the_itemZaikoStatus(); //在庫状態を表示
}
?>
<!--在庫数を実数表示(終了)-->
と変更(私は5から在庫数が表示されるように設定しました)
実際にサイトを見てみると
ばっちりです^^
商品一覧ページ(カテゴリーページ)に在庫数を表示させる
さて、今度は商品一覧ページです。カテゴリーページですね。あと、商品を検索したとき用に検索結果ページでも在庫数が表示できるようにしたいですね!
商品一覧ページと同じように『Welcart カスタマイズ ブログ』さんの記述を行えば簡単にできるのだろうなと安易に考えていましたが、いざやってみると、動かずエラーになり、サイトが動きません!バックアップをFFFTPでアップして復旧(^^ゞ
さて、色々試したり調べたりしていて参考になる記事を発見しました!それは
『ゆずまるの技術情報』さん!!
http://tecinfo.yuzumaru.co.jp/
その中の、『welcart 在庫数 取得』という記事を見つけて、一発で解決!!
そこに書かれていたのは、
<?php if (have_posts()) : the_post(); ?> <?php usces_the_item(); ?> <!-- ←welcartの在庫数は、これが必須 --> <?php usces_have_skus(); ?> <!-- ←welcartの在庫数は、これが必須 --> <?php $zaikoNum = usces_the_itemZaikoNum('return'); echo '在庫数' . $zaikoNum . '個'; ?> <?php endif; ?>
『welcart 在庫数 取得|ゆずまるの技術情報』より
http://tecinfo.yuzumaru.co.jp/wordpress/welcart-%E5%9C%A8%E5%BA%AB%E6%95%B0.html
でした。
これを試すと、バッチリ在庫数を商品一覧ページ(カテゴリーページ)と検索結果ページで取得できました!
私の実際のコードを公開
では最後に、実際に私が使用しているカスタマイズしたコードをご覧いただきます。5本より少ない場合は○本と書くのではなく○本限定!と表記するようにしてみました。実際、生まれ年ワインは2本限定で入荷できるなどの場合が多いのです^^;
<!--在庫数を実数表示-->
<?php usces_the_item(); ?> <!-- ←welcartの在庫数は、これが必須 ゆずまるの技術情報さんより-->
<?php usces_have_skus(); ?> <!-- ←welcartの在庫数は、これが必須 http://tecinfo.yuzumaru.co.jp/wordpress/welcart-%E5%9C%A8%E5%BA%AB%E6%95%B0.html -->
<?php
$stock_rest = usces_the_itemZaikoNum('return');
if( $stock_rest >= 10 ){ //在庫数が10以上の場合
echo '在庫十分';
} elseif ( 4 < $stock_rest && $stock_rest < 10 ){ //在庫数が5より大きく10未満の場合
echo '在庫少';
} elseif ( 0 < $stock_rest && $stock_rest < 5 ){ //在庫数が0より大きく5未満の場合
echo $stock_rest. '本限定!';
}
?>
<!--在庫数を実数表示(終了)-->
これで、実際のカテゴリーページは次のようになりました(「在庫有りのみ表示」は別のカスタマイズより)。
「○本限定!」や「在庫少」はカスタマイズのechoの後ろの”の中の言葉を変えてあげればOKです^^
売切れを表示したくない場合(2018年7月追記)
あまりないとは思いますが、完売であることをお客様につたえたくない場合は初期設定からある次の部分を削除します。
<?php if(! usces_have_zaiko_anyone() ) : ?>
<div class="itemsoldout"><?php _e('Sold Out', 'usces' ); ?></div>
<?php endif; ?>
生まれ年ワインショップは完売商品の再入荷が難しいのですが、自分の生まれ年のワインを探しにきても完売だった方に何ができるかを考えた結果、アフィリエイトでAmazonや楽天を紹介することにしました(2018年7月)。
なので、売切れ表示を消すことにしたのです。
お願い
検索でここにたどり着いた方は、自営業者さんでWelcartを導入しようと思っている方だと思います。役に立った方は、ビジネスでの贈り物に当店「生まれ年ワインショップ」もしくは、日本初のプレゼント専門ワインショップ「プレゼントワインショップ」をご利用いただけると嬉しいですm(__)m
質問です。
商品ページに在庫数表示のソースを書き込むときはwc_item_single.phpに書き込むのは分かったのですが、商品一覧ページに在庫数を表示させたいときは何というファイルに書き込めばよいのか教えていただけませんか?
瀬木さん、はじめまして。ご質問ありがとうございます。
商品一覧ページは当店の場合はカテゴリーページなので、category.phpです。
ワードプレスの管理画面の、外観>テーマを編集 から瀬木さんが表示させたいところ(例えばトップページに商品一覧があるとか)が、どのphpファイルか確認してみてはいかがでしょうか^^