会員制ショッピングサイトにする方法
スポンサーリンク
最近読んだ「グロースハック」という本の中で紹介されていた、「Monoco」という女性向け雑貨のECサイト。
会員登録をしないと価格とカートボタンが表示されないという手法で、会員を集めてがっちり儲かっているそう。
このような会員制のECサイトも、ある程度Welcartで出来ます。
会員がログインしているかそうでないかを条件判別し、条件が合致する場合には、カートボタンなどを表示させるという、結構単純な方法です。
会員ランクで判別する方法は、以下の過去エントリーで紹介しています。
会員ランクで限定の商品表示 – 過去エントリー
もくじ
- 会員がログインしているかどうかの条件分岐の書き方
- wc_item_single.phpを使用中テーマに退避
- ログイン中の場合だけ、価格とカートボタンを表示
- 非ログインユーザーには、ログインボタンと会員登録ページへのリンクを表示
- まとめ
1. 会員がログインしているかどうかの条件分岐の書き方
会員がログインしているかどうかは、以下のように条件分岐します。
<?php if(usces_is_login()): ?> //ここに会員ログイン時に表示させたい内容 <?php else: ?> //ここに非ログイン時に表示させたい内容 <?php endif; ?>
「//ここに会員ログイン時に表示させたい内容」にカートボタンや価格を、「//ここに非ログイン時に表示させたい内容」にログインボタンや会員登録ページへのリンクを、それぞれ入れれば良いことになります。
2. wc_item_single.phpを使用中テーマに退避
商品ページをカスタマイズする時は、専用テンプレートをプラグインフォルダから使用中のテーマにコピーして設置(退避)させる必要があります。
商品ページのテンプレート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
これで、新たに設置したwe_item_single.phpが優先して読み込まれるようになります。カスタマイズはこちらのファイルにて行います。
3. ログイン中の場合だけ、価格とカートボタンを表示
「//ここに会員ログイン時に表示させたい内容」に書くコードです。
例えば、販売価格・数量入力フィールド・カートボタンを表示させたい場合は以下のようになります(単体SKUの場合)。
<?php if( usces_the_itemCprice('return') > 0 ) : ?>//定価の設定がある場合 <?php _e('List price', 'usces'); ?><?php usces_guid_tax(); ?><?php usces_the_itemCpriceCr(); ?>//定価 <?php endif; ?> <?php _e('selling price', 'usces'); ?><?php usces_guid_tax(); ?><?php usces_the_itemPriceCr(); ?>//販売価格 <?php _e('Quantity', 'usces'); ?><?php usces_the_itemQuant(); ?><?php usces_the_itemSkuUnit(); ?>//数量入力フィールド <?php usces_the_itemSkuButton(__('Add to Shopping Cart', 'usces'), 0); ?>//カートボタン <?php usces_singleitem_error_message($post->ID, usces_the_itemSku('return')); ?>//エラーメッセージ用タグ
Welcart公式サイトにもテンプレートタグのリストがありますので、ご参考に。
Welcart テンプレートタグ一覧 – Welcartコミュニティ
4. 非ログインユーザーには、ログインボタンと会員登録ページへのリンクを表示
「//ここに非ログイン時に表示させたい内容」に書くコードです。
ログインボタンと会員登録ページへのリンクを表示させる場合は、以下のようになります。
<?php echo usces_loginout(); ?>//ログインボタン <a href="<?php echo USCES_NEWMEMBER_URL; ?>"><?php _e('New enrollment for membership.','usces') ?></a>//新規会員登録
それぞれ単純な<a>リンクが出力されますので、class属性を付与するなどしてスタイルシートで装飾して下さい。
6. まとめ
Welcartの標準の会員登録では、住所や電話番号等も入れなければならないので、初期登録はメールアドレスだけでよいMonocoに比べると、登録のハードルは高いと思われます。
登録項目を減らすには、フックを使う等々の更なるカスタマイズが必要になりそうです(未検証)。
会員登録してまで見たい!と思わせられるような商材であることがやはり重要でしょうね。
Phpのどの部分に記述すればいいのでしょうか?
ご質問の意図を計りかねるのですが、ご自分が表示を変えたい場所に、1のコードを記述すれば宜しいかと存じます。
初めまして。非常に興味深く拝見しております。
会員制ショッピングサイトにする方法となっておりますが、
新規で会員入力をできないようにしたい(管理側でしか
登録できない)のですが、/member/member_form.php
のH5ラグ付近をコメントアウトにしたりと自分の考えうる
場所は試したのですが、エラーがでるか、何も変わらない
等、うまくいきません。まめ子様で何かご存じであれば
お知恵を拝借いただければ幸いです。
新規会員入力のテンプレートは、/wc_templates/member/wc_new_member_page.phpではないでしょうか?ちなみに、Welcart公式サイトのこちらのページあたりが、ファイルの退避のご参考になるかと存じます。