yamanoco
投稿の際は下記の情報をお書き添えください。
-------------------------------------------
WordPress のバージョン:(例 6.0.2)
Welcart のバージョン:(例 2.8.1)
PHP のバージョン:(例 8.0)
Welcart専用の拡張プラグインとバージョン:(例 DL Seller 3.4.1、SKU Select 1.4.2)
ご利用の親テーマとバージョン :(例 Welcart Basic 1.7.1)
ご利用の子テーマとバージョン :(例 Welcart Beldad 1.4)
症状を確認したブラウザ:
サーバー【重要】:(会社名、サービス名)
--------------------------------------------
フォーラムへの返信
-
投稿者投稿
-
yamanoco参加者
wecanjapan 様
ikeda 様早々にご返信くださりありがとうございます。
Welcart2.7の仕様変更による関数が原因だったのですね。
失礼いたしました。以前は複数のSKUがあれば「〜」をいれるという仕様だったのを、
商品の仕様を考え、「最初と最後のSKUの価格が合っていなかったら」としました。参考ページを参照しながら、以下のように変更したところ、うまく表示できるようになりました。
お教えいただきありがとうございました。大変助かりました。<?php $sku = wel_get_sku( $post_id, $sku_code ); if ( !usces_have_zaiko_anyone() ) ://商品が無い場合:売り切れ表示 ?> <div class="zaiko_status mb-10"> <p class="font-12 uppercase we-regular">SOLD OUT</p> </div> <?php elseif( usces_the_firstPrice('return') == usces_the_lastPrice('return') ) : //最初のSKUと最後ののSKUの価格が同じ場合?> <p class="font-12 uppercase we-regular"> <?php echo('¥');?><?php usces_the_firstPrice(); ?> <?php usces_guid_tax(); ?> </p> <?php else : ?> <p class="font-12 uppercase we-regular"> <?php echo('¥');?><?php usces_the_firstPrice(); ?> <?php usces_guid_tax();?>〜 </p> <?php endif; //商品が無い場合:終了 ?>
yamanoco参加者以前解決できたと思ったこちらの問題なのですが、一覧表示させたときに
複数SKUの場合に「〜」の表示がでるものとでないものがあり、
どうも判別がわかりません。何かコードが間違っているのでしょうか・・。
<?php $skus = get_post_meta($post->ID,'_isku_'); if ( !usces_have_zaiko_anyone() ) ://商品が無い場合:売り切れ表示 ?> <div class="zaiko_status mb-10"> <p class="font-12 uppercase we-regular">SOLD OUT</p> </div> <?php elseif( count( $skus ) > 1 ) : //SKUが2つ以上の場合?> <p class="font-12 uppercase we-regular"> <?php echo('¥');?><?php usces_the_firstPrice(); ?> <?php usces_guid_tax(); ?>〜 </p> <?php else : ?> <p class="font-12 uppercase we-regular"> <?php echo('¥');?><?php usces_the_firstPrice(); ?> <?php usces_guid_tax();?> </p> <?php endif; //商品が無い場合:終了 ?>
もしお分かりになられる方いらっしゃいましたらお教えいただけると大変助かります。
どうぞよろしくお願いいたします。——————————————-
WordPress のバージョン:6.0.5
Welcart のバージョン:2.8.19
PHP のバージョン:(例 7.2)
Welcart専用の拡張プラグインとバージョン:wcex_sku_select 1.4.5
ご利用のテーマ:自作子テーマ
症状を確認したブラウザ:chrome firefox safari
サーバー:(会社名、サービス名) ロリポップ
SSLの利用:(例 常時SSL) 共有SSL
——————————————–yamanoco参加者>ikeda様
はい。大丈夫です。
ありがとうございます。yamanoco参加者bomber様
お返事ありがとうございます。
そうなのですね。検証したところ、結局わたしの方ではPaypal決済だけできれば、
別途クレジット決済の契約をしていることもあり、
Paypalに関してはクレジットカード決済を利用しないかたちで、CPだけで十分のようでした。せっかくお教えくださったのにすみません。
ご丁寧にどうもありがとうございました。yamanoco参加者ryoa様
bomber様こんにちは! ただいま同じ事象が起きており、
お二方ともその後どうされたか気になっております。ikeda様がおっしゃるようにマニュアルP22~24も確認したのですが、
入力不可の状態は特に変わりません。もし解決されていらっしゃれば、お時間のあるときで構いませんので、
解決方法を記載いただけましたら大変助かります。- この返信は1年、 9ヶ月前にyamanocoが編集しました。
yamanoco参加者先ほど記載したものです。度々申し訳ありません。自己解決できました。
>パッチをダウンロードし、プラグインのアップロード自体はできたのですが、
>有効化しようとすると重大なエラーがあり有効化できないといわれてしまいました。
>function.phpの記載も記載するとサイトに重大なエラーがでたと記載が出て入力ができません。こちらですが、パッチをダウンロードした中身のphpをFTPにてfunction.phpと同じ階層にいれ
function.phpの記載の方は以前アップデートされる前のものがあらかじめ記載してあるのを忘れてしまって
新しくphpを記載したために起きたエラー?のようでした。一番最新のこちらのパッチをダウンロードし直し、古いphpを最新のものに書き直したところ、ローディング画面も消え、無事にカスタムフィールドを使うことができました。
yamanoco参加者advanced custom fieldsを使用し、商品ページ内にカスタムフィールドをいくつか置いています。
管理画面にて、いつからかローディング画面がでるようになってしまいました。新しく入力しようにも入力できず、入力した中身を見ることもできなくなっているため、編集も不可能です。
表示自体は問題なくされているようですが、このままでは新規商品の追加もできません。新しくカスタムフィールド自体をつくりなおしてみても、同じように管理画面にローディングマークがでっぱなしになっています。
こちらのスレッドで「パッチを充てることで「Advanced Custom Fields」の利用は可能です。」
と拝見しまして、パッチをダウンロードし、プラグインのアップロード自体はできたのですが、
有効化しようとすると重大なエラーがあり有効化できないといわれてしまいました。
function.phpの記載も記載するとサイトに重大なエラーがでたと記載が出て入力ができません。welcart自体が古いのもあるのかもと思い、アップデートも試したところ、特に変化はありません。
どうしたら良いかアドバイスをいただけると大変助かります。お忙しい中すみませんが、どうぞよろしくお願いいたします。
——————————————-
WordPress のバージョン:6.0.2
Welcart のバージョン:2.7.8
PHP のバージョン:7.4.30
Welcart専用の拡張プラグインとバージョン:(例 DL Seller 3.0.8、SKU Select 1.1.4)
ご利用の親テーマとバージョン :自作テーマ
ご利用の子テーマとバージョン :
症状を確認したブラウザ:chrome
サーバー【重要】:(会社名、サービス名)ロリポップ
——————————————–Attachments:
You must be logged in to view attached files.yamanoco参加者>sagawaさま
こんにちは。
度々のご回答ありがとうございます。やはりどうも私レベルでは実装が難しいようで、
御社に依頼するにも同様の該当する品物が今後のことを考えて極端に少ないこともあり、
今回は商品名だけを反映させ、sku selectでの値はお客様に入力をお願いする形にいたしました。せっかく度々ご回答くださったのに、力が及ばず申し訳ありません。
今後ともどうぞよろしくお願いいたします。yamanoco参加者>sagawaさま
こんばんは。いえいえ、こちらがなかなか理解が乏しく、度々説明していただく形になりすみません。
大変助かります。が、やっぱり理解が乏しいようです。すみません・・。
教えていただいたように、wc_sku_select.php内にて、<a href="<?php echo home_url('restock/?goods='); ?> <?php usces_the_itemName() ?>_<?php global $usces; $usces->getItemSkuDisp($post->ID, ’code0:0:0’); ?>" class="inquery_button" onclick="window.open('<?php echo home_url('restock/?goods='); ?> <?php usces_the_itemName() ?>_<?php global $usces; $usces->getItemSkuDisp($post->ID, ’code0:0:0’); ?>', '', 'width=500,height=1000'); return false;"> 再入荷お知らせ </a>
usces_the_itemSkuDisp()」の代わりに「$usces->getItemSkuDisp($post->ID, [SKUコード])」を使うとのことで、
上記のように入れてみたのですが、サイトがとんで真っ白になってしまいました。再入荷時の問合せの際に商品名を最初から記載させたいだけなのですが、SKUselectが入っていると難しいのですかね。
>残念ながらyamanoco様がどこまでの情報があればよいか判断できかねますため
再入荷時の問合せボタンを設置していて商品名を渡す処理をsku selectが入っている状態でおこなっている方の「こうやって設定した」という例がどこかにあれば、照らし合わせて参考にしやすいと思ったのです。
「再入荷時に問合せボタンを設置して、商品名をフォームに渡す」というのは複数探し当てることはできるのですが、
sku selectを使っていて、ということになると、どうも見つからずご存知であればと思った次第です。yamanoco参加者>sagawaさま
ループ文を追加してみても変わらずどうしたら良いかと考えているところでした。
実際にご確認もいただけたようで、度々お手数をおかけしてすみません。ありがとうございます。SKU Selectを使っていて、かつSKU表示名を取り出すのは難しいのですね。
「usces_the_itemSkuDisp()」の代わりに「$usces->getItemSkuDisp($post->ID, [SKUコード])」を使うというのは、
wc_sku_select.php内に記述するのではなく、function.phpに記述するということですか?
echoで出力させるのか?と試してみましたが、商品名以下が空白になってしまい、正しく表示できませんでした。[SKUコード]の部分には実際どういった形で入力したら良いのかなど、
「$usces->getItemSkuDisp($post->ID」で調べてみても、似たような事例がないようで、
どこにどう記述したら良いかイメージがつきづらく困惑しております。詳しいレクチャーでなくても良いのですが、なにか修正方法のイメージがつきやすいサイトか何かあれば
合わせてお教えいただいてもよろしいでしょうか。度々申し訳ありません。yamanoco参加者>sagawaさま
お忙しい中、ご回答いただきありがとうございます。参考URLではsku selectは使用していないようで、sku selectだとボタンの切り替えがjavascriptでの切り替えになるとのことで、sku select設定時にループ文を私の方で外していたのでした・・。
▼7. カートボタンの修正より
https://www.welcart.com/docs/SkuSelect/themes.htmlですので、ループの中には入っていませんでした。ここにループを追記する・・?
というのはどういう記述になるのでしょうか・・??よくわかっておらずすみません・・。sku selectを使っていて、かつ品切れ時にContact Form 7に商品名を引き渡すという
他の参考にできるものもみつからず、再び質問になってしまってすみません。
お時間ございましたらご教授いただければ大変助かります。どうぞよろしくお願いいたします。- この返信は4年前にyamanocoが編集しました。
yamanoco参加者>あつお様
!! ご本人さま! ご確認いただきありがとうございます。
ブログに書かれている他のものも参考にさせていただいており、大変助かっております。お教えくださったように修正したところ、無事表示することができました。
どうもありがとうございます!!yamanoco参加者>ohnishi さま
ご確認ありがとうございます。あれ・・わたしが送ったコードは</p>がないですね・・。すみません。
<p>の閉じタグ、シングルクォーテーション、
ダブルクォーテーションを半角で全て打ち直しもしてみたのですが、
特に変わらないようでした。
改めてコードを送り直します。<?php if ( !usces_have_zaiko_anyone() ) ://商品が無い場合:売り切れ表示 ?> <div class="zaiko_status mb-10"> <p class="font-12 uppercase we-regular">SOLD OUT</p> </div> <?php $skus = get_post_meta($post->ID,'_isku_'); elseif( count( $skus ) > 1 ) : //SKUが2つ以上の場合?> <p class="font-12 uppercase we-regular"> <?php echo('¥');?><?php usces_the_firstPrice(); ?> <?php usces_guid_tax(); ?><em class="tax">(税込)</em>〜 </p> <?php else : ?> <p class="font-12 uppercase we-regular"> <?php echo('¥');?><?php usces_the_firstPrice(); ?> <?php usces_guid_tax();?><em class="tax">(税込)</em> </p> <?php endif; //商品が無い場合:終了 ?>
引き続きご確認いただけると大変助かります。
どうぞよろしくお願いいたします。yamanoco参加者>yskysmrさま
確認したところclass名だけしか付与されておりませんでした・・!
恥ずかしいですね・・。確認不足で申し訳ありませんでした。
貴重なお時間をいただきありがとうございます。おかげさまで解決しました!yamanoco参加者追記
商品詳細本文の方のみ、ひとまず解決いたしました。原因ですが、ヘッダーを読み込んだ後、
<?php if (have_posts()) : the_post(); ?>
同様にフッター前に<?php else : ?> <p><?php _e('Sorry, no posts matched your criteria.', 'usces'); ?></p> <?php endif; ?>
が入っていないことが原因で商品詳細本文が出力されず、ソースに入っていなかったこと。
合わせて、わたしのほうで display:none を設定した class名に
商品詳細本文も入ってしまっていたことの2点が原因でした・・・。申し訳ありません。大変失礼いたしました。
カートが表示されないのは引き続き分かっておらず、
何かお分かりなことがありましたらお教えいただければ幸いです。 -
投稿者投稿