キャンペーン判別付きのポイントレート表示

スポンサーリンク

Welcartの標準テンプレートでは、ポイントレート(ポイント率)の表示はされません。

しかしながら、Welcartのプラグインフォルダには、ポイントレートを表示するタグが用意されています。

もくじ

  1. ポイントレートを表示するタグ
  2. wc_item_sigle.phpを使用中テーマに退避
  3. ポイントレートタグを記入

1. ポイントレートを表示するタグ

Welcartには、通常のポイントレート、キャンペーン中にはキャンペーン中のポイントレートを表示させるテンプレートタグが用意されています。

  1. usces_point_rate($post_id,’return’):基本のポイントレート
  2. 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_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本体で仕様の変更がありました際には、こちらで公開中のコードも修正することになると思います。

コメントは受け付けていません。

Copyright© 2024 Welcart カスタマイズ ブログ All Rights Reserved.