welcart独自の関数を用いているのですが、
関数によっては動作する場合と動作しない場合があります。
この理由を教えていたければなと思います。
例:usces_the_itemCode()がcategory.phpでは動作していますが、
新着レビューのようなコメントのループの中ではusces_the_itemCode()が効いておりません。
wordpressに関する知識が欠落しているために、理解できていない部分だとは思うのですが
どこを意識すれば理解に近づくなどご教授いただけますでしょうか?
——————————————-
WordPress のバージョン:4.7.3
Welcart のバージョン:1.9.1
ご利用のテーマ:カスタマイズテーマ
症状を確認したブラウザ:chrome
サーバー(会社名、サービス名):さくらvps
SSLの利用:なし
WordPress のパーマリンク設定:/products/%category%/%postname%/
——————————————–
ありがとうございます。
wc_item_single.php の複数SKUを表示されているところは何か所か確認できましたが、どの場所かわかりません。
大変お手数をおかけしますが、
( $post->ID, usces_the_itemSku(‘return’) ); ?> の前に○○を追加する
という感じで教えていただけないでしょうか。
よろしくお願いします。
——————————————-
WordPress のバージョン:WordPress 4.7.2
Welcart のバージョン:バージョン 1.9.1
ご利用のテーマ:Welcart Basic(子テーマを作ってます。子テーマにはstyle.cssだけ入っています)
症状を確認したブラウザ:IE10
サーバー(会社名、サービス名):ロリポップ
SSLの利用:不明
WordPress のパーマリンク設定:カスタム構造
——————————————–
サブ画像の上に番号を振っているのですが商品によって
●Aの位置から1・2・3と番号を振りたいもの
●Bの位置から1・2・3と番号を振りたいもの
●番号を振らなくてよいもの
の3つがあり、現在「Aの位置から1・2・3と番号を振りたいもの」の設定としてwc_item_single.phpで該当部分を
<?php foreach( $imageid as $id ) : ?>
<a>" <?php echo apply_filters( 'usces_itemimg_anchor_rel', NULL ); ?>><?php echo $id; ?><?php usces_the_itemImage( $id, 135, 180, $post ); ?></a>
<?php endforeach; ?>
と書いていますが、使い分けとして下記2つはどの部分にどうやって記載すればよいのでしょうか。
●Bの位置から1・2・3と番号を振りたいもの
●番号を振らなくてよいもの
よろしくお願いします。
Attachments:
You must be
logged in to view attached files.
<?php foreach( $imageid as $id ) : ?>
<a>" <?php echo apply_filters( 'usces_itemimg_anchor_rel', NULL ); ?>><?php echo $id; ?><?php usces_the_itemImage( $id, 135, 180, $post ); ?></a>
<?php endforeach; ?>
ですね、できました!
長い間ありがとうございました。
度々ありがとうございます。
<?php foreach( $imageid as $id ) : ?>
<?php echo $id; ?>
<a>" <?php echo apply_filters( 'usces_itemimg_anchor_rel', NULL ); ?>><?php usces_the_itemImage( $id, 135, 180, $post ); ?></a>
<?php endforeach; ?>
;
でよいのでしょうか。
これでアップしたら、サブ画像の3枚目の上に「12345678」、9枚目の上に「91011」と記載されます。
どこを改善すれは1枚目の上に「1」、2枚目の上に「2」…となるのでしょうか。
引き続きよろしくお願いします。
こんにちは。
usces_the_itemPriceCr('return')
ではなくて
usces_crform( usces_the_firstPrice( 'return', $post ), true, false, 'return' )
ではどうでしょうか?
usces_the_itemPriceCr
はループ中でないと正しく金額が取得できないので、usces_crform
usces_the_firstPrice
をあわせて利用してみてください。
`
`
この辺りだろうというのはわかります。組み込んでみましたらやはり表示されませんん。
表示されないというのはどうかかれたのでしょうか?
また、フィルター内で利用される場合usces_have_zaiko_anyone( $post_id )
というふうに第一引数にポストIDを渡してください。
ありがとうございます。
ただ、わたしがまだ全て理解できるレベルではなく、苦戦しています。
1) Welcart basic の商品一覧テンプレートを参考に
2) 「usces_filter_featured_widget」というフックを利用
というヒントをいただき、見よう見まねで、functions.phpに、
add_filter( 'usces_filter_featured_widget', 'my_filter_featured_widget', 10, 4 );
function my_filter_featured_widget($list, $post, $list_index, $instance){
global $usces;
$post_id = $post->ID;
$list = '<div class="thumimg"><a href="' . get_permalink($post_id) . '">' . usces_the_itemImage(0, 150, 150, $post, 'return' ) . '</a></div>';
$list .= '<div class="thumtitle"><a href="' . get_permalink($post_id) . '" rel="bookmark">' . $usces->getItemName($post_id) . '</a></div>';
$list .= usces_the_itemPriceCr('return');
$list .= usces_guid_tax('return');
return $list;
}
フィルターフック追加で、内容が変わることがわかりました。
ただ、売り切れ表示がよくわからないのですが、
basicの商品一覧テンプレートをみると、
<?php if(! usces_have_zaiko_anyone() ) : ?>
<div class="itemsoldout"><?php _e('Sold Out', 'usces' ); ?></div>
<?php endif; ?>
この辺りだろうというのはわかります。組み込んでみましたらやはり表示されませんん。
また、フィルターの
$list .= usces_the_itemPriceCr('return');
という価格の部分ですが、どうしても「¥0」と表示になってしまいます。
他の部分をみながら、試してみたのですがどうもうまくいきません。
私の現段階の知識の問題かもしれませんが、
あわせて、ご教示いただけるとありがたいです。
どうぞよろしくお願いします。
-
この返信は8年、 3ヶ月前に
Welcartが編集しました。理由: codeタグの追加
こんにちは。
そういうことなのですね。
アイキャッチ画像で要件を満たせたのでしたら良かったですが、少々強引な方法ですがフィルターを利用して商品画像のimgタグに属性を追加することができます。
usces_the_itemImage
タグには以下のフィルターが存在します。
apply_filters('usces_filter_img_alt', $alt, $post_id, $pictid, $width, $height)
alt属性を変更
apply_filters('usces_filter_img_title', $title, $post_id, $pictid, $width, $height)
title属性を変更
apply_filters( 'usces_filter_main_img', $html, $post_id, $pictid, $width, $height)
apply_filters( 'usces_filter_sub_img', $html, $post_id, $pictid, $width, $height)
imgタグ自体を変更
いずれかのフィルターを利用して、任意のimgタグに変更することが可能です。
今後サムネイルのテンプレートタグのご検討をいただけましたら嬉しいです。
ご提案ありがとうございます。
前向きに検討したいと思います。
こんにちは
テンプレートを見ていただきますと、usces_the_itemPrice や usces_the_itemPriceCr といったテンプレートタグが見えるかと思います。これを使って条件分岐を入れる方法があります。
if( ‘¥0’ == usces_the_itemPriceCr(‘return’) ){
}
と言った書き方ができます。
yasumax様
ご返信ありがとうございます。
当初usces_the_itemImageを使用しておりましたが、data-src属性を追加したいためusces_the_itemImageURLに変更し、色々試していた次第です。
とりあえずテンプレートタグの方法はやめ、
アイキャッチ機能とwp_get_attachment_image_src関数の組み合わせで希望の結果になりました。
今後サムネイルのテンプレートタグのご検討をいただけましたら嬉しいです。
ありがとうございました。
P.S.
とても使い勝手が良いプラグインで、いつも非常に助かっております。
今後ともwelcartの発展に期待しております。
こんにちは。
残念ながら、サムネイル画像のリンク(URL)を取得するテンプレートタグはありません。
用途によるかと思うのですが、imgタグごと出力するusces_the_itemImage
というテンプレートタグでは要件を満たせないでしょうか?
お世話になります。
テンプレートタグusces_the_itemImageURL()はフル画像のリンクが出力されますが、
サムネイルサイズのリンクを出力する方法はありますか?
こんにちは。
質問させてください。
category.phpでアイテムごとのカテゴリーページが作成されますが、
この各ページを2017年度の商品にみ表示にすることは可能でしょうか。
現在、category.phpは下記のコードで一覧を作成しております。
<?php if(have_posts()): while(have_posts()):the_post(); ?>
<?php endwhile; endif; ?>
ですがこれでは昨年作成した商品を含め、すべて生成されます。
理想は下記のようなカテゴリーとアーカイブのサイドバーを作成し、
リンクで該当する商品の一覧ページに飛べるようにしたいです。
(昨年までの商品はarchive.phpで閲覧できるようにします。)
サイドバー —————————-
[カテゴリー]
商品
ー親カテゴリA (2017年の商品)
ーー子カテゴリA-1 (2017年の商品)
ーー子カテゴリA-2 (2017年の商品)
ー親カテゴリB (2017年の商品)
ーー子カテゴリB-1 (2017年の商品)
[アーカイブ]
2016 (2016年の全商品)
2015 (2015年の全商品)
———————————————
ご回答いただけましたら幸いです。
宜しくお願いいたします。
環境は以下になります。
——————————————-
WordPress のバージョン:4.5.4
Welcart のバージョン:1.9.1
ご利用のテーマ:独自テーマ
症状を確認したブラウザ:chrome
サーバー(会社名、サービス名):ロリポップ
SSLの利用: あり
WordPress のパーマリンク設定:
——————————————–
wc_templates/wc_item_single.phpの
<?php usces_the_itemImage( $id, 135, 135, $post ); ?>
の数字を変更だということがわかりました。
ohnishi様 yasumax様
ご返信ありがとうございます。
頂いた点の修正を試してみます。
>yasumax様
usces_have_zaiko()の分岐は不要と言うのは、コードの下記(最後に添付)から、
<?php if( usces_have_zaiko() ): ?>、
<?php else: ?>、
<?php endif; ?>
の3つを削除するということでしょうか。それとも他に修正必要でしょうか。
現状、↑とloading画像の指定以外を反映しているところですが、
①プルダウンは表示されるようになった②プルダウンもラジオボタンも
カートに入れる際は1つ目のskuの分が入るという状況です。
以上、何卒よろしくお願いいたします。
<?php if( usces_have_zaiko() ): ?>
<?php if (usces_is_options()): while (usces_have_options()) : ?>
<table class="item-option">
<tbody>
<tr><td><?php usces_the_itemOptName(); ?></td><td><?php usces_the_itemOption(usces_getItemOptName(),''); ?></td></tr>
</tbody>
</table>
<?php endwhile; endif; ?>
<span class="item-quant"><?php usces_the_itemQuant(); ?></span><?php usces_the_itemSkuUnit(); ?>
<?php usces_the_itemSkuButton(' ' .__( 'Add to Cart', 'blanc' ), 0); ?>
<?php else: ?>
<span class="ss_stockstatus"><?php $stock = usces_get_itemZaiko( 'name' ); ?></span>
<?php echo sprintf(__('<p class="item-stock">This item is currently %s.</p>', 'blanc'), $stock ); ?>
<span class="ss_stockstatus"><?php echo apply_filters('usces_filters_single_sku_zaiko_message', esc_html(usces_get_itemZaiko( 'name' ))); ?></span>
<?php endif; ?>