在庫数を表示させたが、在庫があるのに在庫数が0になる
タグ: 在庫数
-
投稿者投稿
-
2019年10月28日 8:47 AM #88710kana参加者
<?php usces_the_itemZaikoNum(); ?>
上記のコードを使用して在庫数を表示させたのですが、在庫があるにも関わらず、在庫数が0と表示されてしまいます。原因と解決法がわかる方がいらっしゃいましたら、教えていただけると助かります。m(__)m
よろしくお願いいたします。——————————————-
WordPress のバージョン:5.2.4
Welcart のバージョン:1.9.22
PHP のバージョン:7.2.17
Welcart専用の拡張プラグインとバージョン:WCEX Multi Price 1.1.6
ご利用のテーマ:WALDEN
サーバー:スターサーバー
SSLの利用:常時SSL
——————————————–2019年10月28日 3:30 PM #88715yskysmrキーマスターこんにちは。
usces_the_itemZaikoNum();
を使用したとのことですが、このコードはどのテンプレートに書かれたでしょうか。2019年10月28日 8:24 PM #88726kana参加者お返事ありがとうございます。
wc_item_single.php に書きました。wp-content/themes/welcart_walden/wc_templates/wc_item_single.php
合っておりますでしょうか?
また、WCEX Multi Priceのプラグインを入れる前は在庫数が表示されていたような気がします。(うる覚えですが・・)
WCEX Multi Priceのプラグインは何か関係ありますでしょうか?よろしくお願いいたします。
2019年10月29日 9:47 AM #88728yskysmrキーマスターkana 様
WCEX Multi Price は関係ありません。
では、wc_item_single.php
のどこに書かれたでしょうか。usces_have_skus()
のループの中に書かれているでしょうか。2019年10月29日 12:45 PM #88729kana参加者お返事ありがとうございます。
下記のように書いておりますが、合っていますでしょうか?(<?php usces_the_itemZaiko(); ?>の隣です)
よろしくお願いいたします。<?php if(usces_sku_num() === 1) : usces_have_skus(); ?>
<!–1SKU(SKUを1つしかもたない時の表示)–><h1 class=”item_page_title”><?php the_title(); ?></h1><?php the_content(); ?>
<?php if( $item_custom = usces_get_item_custom( $post->ID, ‘list’, ‘return’ ) ) : ?><?php echo $item_custom; ?><?php endif; ?>
<!– end of exp –>
<section class=”orderitem”>
<?php if( usces_the_itemCprice(‘return’) > 0 ) : ?>
<dl>
<dt class=”field_name”><?php _e(‘List price’, ‘usces’); ?><?php usces_guid_tax(); ?></dt>
<dd class=”field_cprice”><?php usces_the_itemCpriceCr(); ?></dd>
</dl>
<?php endif; ?>
<dl>
<dt class=”field_name”><?php _e(‘selling price’, ‘usces’); ?><?php usces_guid_tax(); ?></dt>
<dd class=”field_price”><?php usces_the_itemPriceCr(); ?></dd>
</dl>
<dl>
<dt class=”field_name”><?php _e(‘stock status’, ‘usces’); ?></dt>
<dd><?php usces_the_itemZaiko(); ?>(在庫数:<?php usces_the_itemZaikoNum(); ?>)</dd>
</dl><?php if( $item_custom = usces_get_item_custom( $post->ID, ‘list’, ‘return’ ) ) : ?>
<?php echo $item_custom; ?><?php endif; ?>
<form action=”<?php echo USCES_CART_URL; ?>” method=”post”>
<?php usces_the_itemGpExp(); ?><?php if (usces_is_options()) : ?>
<table class=’skusingle’>
<?php while (usces_have_options()) : ?>
<tr><th><?php usces_the_itemOptName(); ?></th><td><?php usces_the_itemOption(usces_getItemOptName(),”); ?></td></tr>
<?php endwhile; ?>
</table>
<?php endif; ?>
<?php if( !usces_have_zaiko() ) : ?><?php echo apply_filters(‘usces_filters_single_sku_zaiko_message’, __(‘Sold Out’, ‘usces’)); ?>(在庫個数 : <?php usces_the_itemZaikoNum(); ?>)<?php else : ?>
<?php _e(‘Quantity’, ‘usces’); ?><?php usces_the_itemQuant(); ?><?php usces_the_itemSkuUnit(); ?><?php usces_the_itemSkuButton(__(‘Add to Shopping Cart’, ‘usces’), 0); ?><?php usces_singleitem_error_message($post->ID, usces_the_itemSku(‘return’)); ?><?php endif; ?>
<!– end of skuform –>
<?php echo apply_filters(‘single_item_single_sku_after_field’, NULL); ?>
<?php do_action(‘usces_action_single_item_inform’); ?>
</form></section><!– end of action-section –>
2019年10月30日 8:50 PM #88737kana参加者どなたか教えていただけませんでしょうか。
よろしくお願いいたします。m(__)m2019年10月31日 9:22 AM #88738uishi参加者<?php if( !usces_have_zaiko() ) : ?>//usces_have_zaikoがtrueでなければ、次の処理。 <?php echo apply_filters(‘usces_filters_single_sku_zaiko_message’, __(‘Sold Out’, ‘usces’)); ?>(在庫個数 : <?php usces_the_itemZaikoNum(); ?>) <?php else : ?>
在庫がなければ、在庫数は0ではないですか。見当違いかな。
もともとは在庫状態(品切れとか入荷待ちとか)を表示する部分。別件ですが掲示板等ではコードの部分はつかってバッククォートでくくるのがマナーかも。
2019年10月31日 10:04 AM #88739yskysmrキーマスターkana 様
記述は合っていると思います。
<?php usces_the_itemZaiko(); ?>
は表示されていますか?在庫状態の表示です。2019年10月31日 1:51 PM #88740kana参加者uishi様
お返事ありがとうございます。
私に知識がないことが悪いのですが、ご回答の意味が理解できません。(別件の件もわかりません。)
大変申し訳ないのですが、もしも気が向きましたら具体的にどのようにしたらいいか教えていただけると嬉しいです。yskysmr様
はい、<?php usces_the_itemZaiko(); ?> はホームページ上で表示されております。
しかし、在庫があるのに<?php usces_the_itemZaiko(); ?>は0と表示されてしまうので困っております。
なぜでしょうか・・。https://navy-field.net/item/001/
こちらのページの在庫状態のところの(在庫数:0)の表示です。
なぜでしょうか・・。- この返信は4年、 11ヶ月前にkanaが編集しました。
2019年10月31日 4:44 PM #88744yskysmrキーマスターkana 様
「在庫があるのに」と仰っていますが、この商品の SKU の在庫数に、数値を設定されていますでしょうか。
2019年10月31日 5:10 PM #88745kana参加者商品マスター⇒SKU価格のところに、在庫数の数値を設定しております。
Welcart Shop 商品リスト一覧にも、在庫数が表示されています。(画像を添付します)どこか間違っているところがありますでしょうか??
Attachments:
You must be logged in to view attached files.2019年11月1日 10:17 AM #88747yskysmrキーマスターkana 様
ちゃんと在庫数は登録されているようです。そうなりますと、なぜ、
usces_the_itemZaikoNum()
で在庫数が表示されないのかはわかりません。
弊社のテスト環境で kana 様のコードをそのまま記述したところ、在庫数は表示されました。- この返信は4年、 11ヶ月前にyskysmrが編集しました。
2019年11月2日 9:16 AM #88755kana参加者何か、原因の確認方法等ありませんでしょうか?
2019年11月3日 9:56 PM #88757kana参加者ちなみに、welcartのデフォルトテーマでも同じように在庫数が0になったのでテーマの問題ではないですし、プラグインもすべて確かめましたが違いました。
2019年11月4日 7:26 AM #88758uishi参加者2か所あったんですね。失礼しました。
はなしの流れからしか推測できないんですが、別プラグインを使っていて今回の仕様に乗り換えだと思うんですが、以前使用してた投稿に書き換えだけを行ってた場合、以前の_sku_(_isku_だったかな?)がデータベースに残ったままとかないんでしょうか。
yskysmr様がアドバイスしている通り、
var_dunp($skus)
とかprint_r($skus)
とかで、ページに登録してある$skus(か$sku)の内容を確認してみてみるか、データーベースを確認してみるかしてみてはどうでしょう。在庫数は
echo $skus[該当する添え字]['stocknum']
($skuかな?)でも表示するような気がしますが、添え字(0~データの最大個数-1のうちの一つ)が表示したいものの物でないとダメなです。また的外れならごめんなさい。
ちなみに在庫状態と在庫数は関係がないですよね。在庫有と0、売り切れと1でも問題なく動く。スレ主さんのように在庫状態と在庫数の両方を表示しているときには問題ですが。
-
投稿者投稿
- このトピックに返信するにはログインが必要です。