キャンペーン判別付きのポイントレート表示
スポンサーリンク
Welcartの標準テンプレートでは、ポイントレート(ポイント率)の表示はされません。
しかしながら、Welcartのプラグインフォルダには、ポイントレートを表示するタグが用意されています。
もくじ
- ポイントレートを表示するタグ
- wc_item_sigle.phpを使用中テーマに退避
- ポイントレートタグを記入
1. ポイントレートを表示するタグ
Welcartには、通常のポイントレート、キャンペーン中にはキャンペーン中のポイントレートを表示させるテンプレートタグが用意されています。
- usces_point_rate($post_id,’return’):基本のポイントレート
- usces_point_rate_discount($post_id,’return’):キャンペーンのポイントレート
2. wc_item_single.phpを使用中テーマに退避
コードを追加するテンプレートは、商品ページを表示させるwc_item_single.phpです。
カスタマイズをするには、Welcartプラグインフォルダ内からこれをコピーし、使用中テーマ内に設置します。すると、使用中テーマ内に設置されたほうが優先的に読み込まれるようになります。
wc_item_single.phpは、プラグインフォルダの以下の位置にあります。
usc-e-shop/theme/welcart_default/wc_templates/wc_item_single.php
元ファイルとの位置関係が同じになるように、使用中テーマのwc_templatesフォルダ(なければ作成)内に設置します。
- 使用中のテーマ
- wc_templates
- wc_item_single.php ←ココ
- wc_templates
カスタマイズは新たに設置したほうのwc_item_single.phpを利用します。
3. ポイントレートタグを挿入
挿入場所は自由です。以下の画像の例では、38行目(在庫表示)の、
<div class="field"><?php _e('stock status', 'usces'); ?> : <?php usces_the_itemZaikoStatus(); ?></div>
の直後に入れています(単一SKUの場合)。
39行目に、以下を挿入。
<?php $options=get_option('usces'); if(in_category($options['campaign_category']) && 'Promotionsale'==$options['display_mode']): ?> <div class="field">ポイントレート:<?php usces_point_rate_discount($post->ID); ?>% <span style="color:#ff0000; font-weight:bold;">只今キャンペーン中!</span></div> <?php else: ?> <div class="field">ポイントレート:<?php usces_point_rate($post->ID); ?>%</div> <?php endif; ?>
注意点
キャンペーン対象カテゴリーを「全商品」にした場合は、usces_point_rate_discountは作動しない仕様のようです。
※上記コードの条件分岐でも、usces_point_rate_discountと同様のカテゴリー判定を行っていますので、「全商品」ではキャンペーンレートの表示は作動しません。
Welcart本体で仕様の変更がありました際には、こちらで公開中のコードも修正することになると思います。