nanbu さま
ウィジェット フィルタについてのご回答を頂いたので、
Development Verを入れて、CSVについても確認してみましたが、
「エラーなしで更新しても、商品名の表示が変わらない現象」のままです。
やはり、post_meta には同じ商品の情報がどんどん追加されています。
/functions/define_function.php:537~600 にて
post_meta の insert をしているので当たり前ですが…
おそらく、template_func.php の
usces_the_itemName() において、
$str = get_post_custom_values('_itemName', $post_id);
if( $out == 'return' ){
return $str[0];
}else{
echo esc_html($str[0]);
}
と、get_post_custom_values で返る配列の先頭を見ているからだと思います。
Wordpressの中で返す配列の並び順がどうなっているかまではわかりませんが、
var_dumpしてみると、古い→新しい順のような気がします。
というわけで、いくらCSVで更新しても、古い情報しか出てこないのです。
できれば、postmeta を update するようにはできないでしょうか?
前回も書いたとおり、毎日数回の更新をしていますが、
商品数が400点なのに、 _itemName だけで 3000行あります…
こんにちは。
商品詳細ページをカスタマイズするのであればwc_templates をご利用下さい。
wc_templates/wc_item_single.php が商品詳細ページのテンプレートです。
ログインしているかどうかは、usces_is_login() で判断できます。ログインしていればtrue が返ります。
カスタムフィールドは、get_post_meta( ポストID, メタキー, true ) で取得できます。
wc_item_single.php 内でカート投入ボタンを出力しているテンプレートタグは、usces_the_itemSkuButton() となっております。
どうでしょうか。方向性が見えますでしょうか。
いつもお世話になっております。
先日、商品一覧にカート投入ボタンを追加したのですが、
在庫状態が”在庫有り”のときにだけ、カートボタンを表示させたく、
ここのトピックを参考にしたのですが、うまくいきませんでした。
ご教授願います。
作成コード
<?php if( usces_the_itemZaiko(‘return’) === ‘在庫有り’) : ?>
//カート投入ボタンの表示
<?php else :?>
//在庫切れを伝えるメッセージの表示
<?php endif; ?>
ご返信ありがとうございます。
SKUについて解決いたしました。
テーマは、新しいものが反映されてから商品画像が大きく表示されてしまうのでご質問しました。
新しいファイルのwc_item_single_data.php等に
「usces_the_itemImage(0, 300, 300, $post)」と書いてあったので
商品画像が横幅200pxで表示されていたものが300pxで表示され、レイアウトが崩れるのだと考えましたが違いますでしょうか?
実際に表示されている側のタグは
<img class=attachment-300×300 …以下略>と表示されています。
テーマの編集で
wc_item_single.php、wc_item_single_data.php、wc_item_single_service.phpの3つのファイルの
「usces_the_itemImage(0, 300, 300, $post)」を
「usces_the_itemImage(0, 200, 200, $post)」にして
ファイル更新をしましたが、何も変わりませんでした。
試しに、適当な文字や位置を変えたりして更新してみましたが何もかわりませんでした。
商品詳細ページは上記のファイルだと思っていたのですが編集するファイルが間違っているのでしょうか?
ヘッダー等は、編集するときちんと反映されるのですが…。
何もいじっておらずデフォルトでこの状態なので、どうしたら直るか教えて頂けると幸いです。
加えまして、前の記事でもご質問しましたが、商品一覧レイアウト拡張プラグイン1.2.3は、最新版のWelcartとDLSellerに問題なく使用はできますか?
お手数いかけいたしますがよろしくお願いいたします。
ご返信ありがとうございます。
すぐにリリースされたので安心しました。
案内の通り、WelcartとDLSellerをアップロードいたしました。
商品詳細ページは表示されるようになりましたが、
SKUを記入しても、更新すると消えてしまい反映されませんでした。
また、商品画像が自動で200px×200pxで表示されていた部分が
300px×300pxで表示されレイアウトがくずれます。テーマの編集をすれば直るかと思い、
「usces_the_itemImage(0, 300, 300, $post)」の300の所を200に変更してファイルを更新したら、画像は何もかわらず商品説明などが消えてしまい、ファイルを元にもどしても表示が戻らなくなりました。
DLSellerを購入すれば、デオフォルトであればすぐにそのまま使えるのだと思っていたので、個人的にも高い買い物だっただけに結構ショックです…。
(今まで、ゼンカートや色々なカートを時間をかけて設置・カスタマイズ等をしてきて、実際に運営を始めると機能的に問題点があり使い勝手もよくないので使用をやめるということ繰り返してきました。その経緯から、もうそこに多くの時間をかけたくないので、デフォでも高機能でデザインも綺麗なこのカートを見つけられて嬉しかっただけに、ちょっと泣きそうです;;)
試用してから購入できればよかったのですが…。
商品一覧リスト表示するプラグインも導入したいと考えていましたが、こちらもバージョン違いなど問題があるのでしょうか?
デフォルトのままでかまわないので、すぐに使える状態にするにはどうしたらいいでしょうか?
一からすべてを設置しなおしてもダメでしょうか?
こんにちは、carefreeさん。
トップページのお勧め商品グリッド表示を参考にされているのであれば、
usces_the_item(); の後にusces_have_skus(); を置いてみてください。
しかし、これで作れるボタンは最初のSKU に対しての投入ボタンとなります。
ループ処理内では、have_posts()、the_post()、usces_the_item()、usces_have_skus() の4つのテンプレートタグを実行させることで、商品のSKUまでの情報が準備されることになります。
nabu様
ありがとうございます。バッチリ表示されました。
自分の場合だと在庫状態は常に表示しておきたいので、下記になりますね。
<div class="field">
<?php _e('stock status', 'usces'); ?> : <?php usces_the_itemZaiko(); ?>
<?php if( '' != usces_the_itemZaikoNum('return') ): ?>
(在庫数:<?php usces_the_itemZaikoNum(); ?>)
<?php endif; ?>
</div>
SKUが複数の場合の方も、ほぼそのまま使えました。
ありがとうございます。
hide さん
失礼しました。この様になります。
<?php if( '' != usces_the_itemZaikoNum('return') ): ?>
<div class="field"><?php _e('stock status', 'usces'); ?> : <?php usces_the_itemZaiko(); ?>(在庫数:<?php usces_the_itemZaikoNum(); ?>)</div>
<?php endif; ?>
hide さん
仰る通りですね。
在庫数が空白の商品は在庫管理しない商品なので、在庫数は表示させたくないですね。下記のように条件分岐を入れてはどうでしょうか。
<?php if( '' == usces_the_itemZaikoNum('return') ): ?>
<div class="field"><?php _e('stock status', 'usces'); ?> : <?php usces_the_itemZaiko(); ?>(在庫数:<?php usces_the_itemZaikoNum(); ?>)</div>
<?php endif; ?>
これで在庫管理をしない場合は在庫状態も在庫数も表示しなくなります。
こんにちは。
Welcart Default テーマをお使いですか?
Welcart 1.0 をお使いならば、Welcart Default テーマ内にwc_templates というフォルダがあるはずです。無いようでしたらテーマが最新版ではない可能性が有ります。最新のWelcart Default テーマはv1.1 です。まずはご確認ください。
商品詳細ページをカスタマイズしたい場合は、wc_templates 内のwc_item_single.php テンプレートファイルを修正します。
<div class="field"><?php _e('stock status', 'usces'); ?> : <?php usces_the_itemZaiko(); ?></div>
の所を
<div class="field"><?php _e('stock status', 'usces'); ?> : <?php usces_the_itemZaiko(); ?>(在庫数:<?php usces_the_itemZaikoNum(); ?>)</div>
として見てはどうでしょうか。
こんにちは。
恐らく、$this->itemsku が取得できていないのだと思います。
ここにはSKUコードが入らなくてはいけません。
SKUコードの取得方法いくつか有りますが、次の方法が分かりやすいのではないかと思います。
ループの中で次の2つを実行します。
<?php
usces_the_item();
usces_have_skus()
?>
そして次のようにすると良いのではないかと思います。
<?php usces_direct_intoCart($post->ID, usces_the_itemSku('return')); ?>
ただし、これで取得できるのは最初のSKUのみです。SKUが複数ある場合は、SKUデータをループ処理しなくてはいけません。
こんにちは。
item_list_layout_filter_list というフィルターフックを使用します。
以下のコードをご利用中のfunctions.php に追加してみてください。
add_filter('item_list_layout_filter_list', 'my_item_list_layout_filter_list', 10, 3);
function my_item_list_layout_filter_list(){
$args = func_get_args();
$post = $args[1];
$opts = $args[2];
$width = $opts['width'];
$colum = $opts['colum'];
$limargin = $opts['limargin'];
$lipadding = $opts['lipadding'];
$liborder = $opts['liborder'];
$liwidth = ($width + $limargin) / $colum - $limargin - ($lipadding * 2) - ($liborder * 2);
$liheight = $opts['liheight'] - $lipadding * 2;
$txtheight = $opts['txtheight'];
$imgwidth = $liwidth;
$imgheight = $liheight - $txtheight;
$border = $liborder ? '' : 'border:0px';
$list = '<li id="ill_li" class="item_list_layout_li" style="text-align: center; overflow: hidden; display: block; float: left; padding:'.$lipadding.'px; width:'.$liwidth.'px; height:'.$liheight.'px; margin-right:'.$limargin.'px; margin-bottom:'.$limargin.'px; '.$border.'"><a href="' . get_permalink($post->ID) . '">' . usces_the_itemImage(0, $imgwidth, $imgheight, $post, 'return' ) . '<div class="thumtitle">' . esc_html(usces_the_itemName('return')) . '</div></a></li>' . "n";
return $list;
}
すみません、時間が無くて検証していません。うまく動かないようでしたらまたご連絡ください。
こんにちは。
ご報告ありがとうございます。
Pref が切り替わらない症状、確認いたしました。修正しますのでしばらくお待ちください。「対応状況」でDevelopment Version の更新を確認してください。
商品一覧レイアウトの表記も修正いたします。Welcart.com のInformation で告知されましたら最新版にアップグレードをお願いいたします。
商品詳細ページの通貨表示は、wc_item_single.php テンプレート内の以下のテンプレートタグを変更することでSEK が表示されます。何箇所か有りますので検索してみてください。
usces_the_itemCpriceCr();
↓
usces_crform( usces_the_itemCprice('return'), false, true );
usces_the_itemPriceCr();
↓
usces_crform( usces_the_itemPrice('return'), false, true );
ご回答ありがとうございます!
四苦八苦して調べてみましたら、nanbuさんの過去のご発言が見つかりました。
https://www.welcart.com/forum/topic.php?id=2#post-5
これを参考に、home.phpの
<?php if (usces_is_skus()) : ?>
<div class=”price”><?php _e(‘$’, ‘usces’); ?><?php usces_the_firstPrice(); ?><?php usces_guid_tax(); ?></div>
<?php endif; ?>
を
<?php if (usces_is_skus()) : usces_have_skus()?>
<?php if ( ‘在庫有り’ != usces_the_itemZaiko(‘return’) && ‘在庫僅少’ != usces_the_itemZaiko(‘return’)): ?>
<div class=”price”><?php usces_the_itemZaiko(); ?></div>
<?php else: ?>
<div class=”price”><?php _e(‘$’, ‘usces’); ?><?php usces_the_firstPrice(); ?><?php usces_guid_tax(); ?></div>
<?php endif; ?>
<?php endif; ?>
と変更し、在庫がない場合は価格の代わりに在庫状態を表示するようにしました。
p.s.
usces_is_skus()
usces_the_itemZaiko()
などの独自関数(?)の一覧がオンラインマニュアルにあると助かります。
またまた質問申し訳ありません。
先日のサーバーの不調から今は何とか綺麗に動いているようです。
ありがとうございました。
さて、商品カテゴリー一覧表示をカスタムしようとしまして、次のコードをarchives.phpに埋め込みました。
<?php if (have_posts()) : while (have_posts()) : the_post(); usces_the_item(); ?>
<div class=”thumbnail_box”>
<div class=”thumimg”>“><?php usces_the_itemImage($number = 0, $width = 108, $height = 108 ); ?></div>
<div class=”thumtitle”>” rel=”bookmark”><?php usces_the_itemName(); ?> (<?php usces_the_itemCode(); ?>)</div>
<?php if (usces_is_skus()) : ?>
<div class=”price”>¥<?php usces_the_firstPrice(); ?><?php usces_guid_tax(); ?></div>
<?php endif; ?>
</div>
<?php endwhile; else: ?>
<p><?php _e(‘Sorry, no posts matched your criteria.’); ?></p>
<?php endif; ?>
<?php while (have_posts()) : the_post(); ?>
<div <?php post_class(); ?>>
<div class=”entry clearfix”>
<?php if(!usces_is_item()): ?>
<p><small><?php the_date(‘Y/n/j’); ?></small></p>
<?php endif; ?>
</div>
要するに、一覧表示を3×4の12個に表示させたいのです。
ですが、まだまだ勉強不足でこの様な結果になりました。
http://tktaisei.sub.jp/chinkyaku/archives/category/item/page/6
まず質問したいのは10個ではなく12個表示したいことと、縦一覧表示の枠線を撤去したいことです。
posts_per_pageが書いているファイルがどれかが分からないのです。
それと仕切り線はどこを治せば良いのか・・・。
Item List Layoutを使えば良いとはわかっているのですが、というか購入するつもりなのですが、どうしてもこの問題だけ知りたいのです。
よろしければ教えて下さい。
宜しくお願い致します。
動作に関するご質問の場合は必ずご記入ください。
Welcart のバージョン:0.9.5
症状を確認したブラウザ:Firefox.IE.Safari
サーバー(会社名、サービス名):Lolipop
SSLの利用: 共用SSL
WordPress のパーマリンク設定:/archives/%post_id%