あるランクの会員にのみ情報を表示する
-
投稿者投稿
-
2015年3月30日 4:00 PM #73814steve-n参加者
——————————————-
WordPress のバージョン:最新
Welcart のバージョン:4.1.0
ご利用のテーマ:オリジナル
症状を確認したブラウザ:
サーバー(会社名、サービス名):
SSLの利用:
WordPress のパーマリンク設定:
——————————————–こんにちは
会員ページ(wc_member_page.php)にあるランクの会員にだけ情報を表示したいのですが、
どのように可能ですか?
usces_the_member_status を使うと単に会員の名前しか表示されません
よろしくお願いいたします。2015年3月31日 3:36 PM #73815gell参加者http://welcustom.net/offer-for-special-members/
こちらの記事が参考になるのではないでしょうか?
2015年3月31日 7:01 PM #73816steve-n参加者ありがとうございます。
上記リンクの記事はある会員に対して価格変動させるというものではないでしょうか?書き方が悪かったのかしれませんが、
ある会員ランクにのみ表示される分岐方法なのですが。よろしくお願いします。
2015年4月2日 5:06 PM #73861nanbuキーマスターこんにちは。
usces_the_member_status(‘return’) では、ログインしている会員ランクを返しています。これを利用して条件分岐してはいかがですか。
gell さんがご提供くださいました記事にも同様の事が書いてあるようです。
2015年4月3日 11:37 AM #73875steve-n参加者別からひっぱってきた条件分岐にはめて
以下のようにしましたが
単に会員ランクを表示するだけで
うまくいきません
全然間違ってるかもしれませんが、
よろしくお願いします。<?php $status = usces_the_member_status( ‘id’ ); ?>
<?php if( 3 === $status ): ?>
特別会員への内容ここに表示
<?php elseif( 1 === $status ): ?>
優良会員への内容ここに表示
<?php else: ?>
<!– その他は何も表示なし –>
<?php endif; ?>2015年4月3日 2:55 PM #73876yasumaxキーマスターこんにちは。
「usces_the_member_status」は、「ランク名」を返す関数です。
引数が「’return’」の場合以外は echo されます。下記トピックが参考になるのではないでしょうか。
Welcartフォーラム2015年4月3日 3:13 PM #73879steve-n参加者ありがとうございます
<?php if (usces_the_member_status( ‘return’ )== ‘特別会員’) : ?>
特別会員への内容ここに表示
<?php endif; ?>上記の記事を参考にすると
こういうことでしょうか?
上記では会員ランクしか表示されません
よろしくお願いします※以前、welcartレスキューで会員ランクによる割引を設定していただき、特別会員という名前になっています。
2015年4月3日 3:18 PM #73880gell参加者こんにちは。
事例を拝見いたしますと、とあるページの表示内容の一部を会員ランクごとに変更したい様に見えますがよろしかったでしょうか?
そう致しますと、
<?php if(usces_is_login() && usces_the_member_status('return') == '特別会員'): ?> 特別会員の表示内容 <?php elseif(usces_is_login() && usces_the_member_status('return') == '優良会員'): ?> 優良会員の表示内容 <?php else: ?> <?php endif; ?>
試してませんが、こんな感じでいけるのでは?と思います。
冗長に感じるようでしたらusces_is_login() && usces_the_member_status(‘return’)を$statusに入れるなりしてもよいと思います。テンプレートそのものを特別会員のみ使用するとか、そういう事ならちょっと書き方が変わってきますが、要はusces_the_member_status(‘return’)でその人の会員ランクを調べてそれが”特別会員”と一致したら次を表示、”優良会員”と一致したら次を表示、どれにも当てはまらない場合は表示しないという指示を与えているにすぎません。
usces_is_login() &&は、ログインしていないと会員ランクはわからないと思いますので、念のため入れてあります。
違っていたらすみません。
2015年4月3日 3:26 PM #73881steve-n参加者gell様
ありがとうございます!
これが私の求めていたものです。どうやら
usces_is_login()
を入れていなかったのが表示されなかった原因ではないかと思います。なにはともあれ
ありがとうございました。2015年4月3日 3:28 PM #73882masuda-clair参加者表示されるだけ
ということは、この関数のカッコの中が
‘return’
以外になっていると思うのですが‘return’
が設定されたときのみ計算結果のように代入ができ
それ以外(入れない場合を含んで)は
無条件でランクが表示され
値は何も帰ってきません
代入してもnull(何もない)状態です
よってその後のIF文はすべて無視されますたぶん、そういうことで「ランク名が表示されるだけ」に
なっているのではないでしょうか?
途中のソースでは’id’が入ていたと思うのですが
これはたぶん会員IDを設定したかったのではないかと思うのですが
それでも、これでは「id」という文字が渡ってしまいますし
idであっても’retrun’ではないので、表示されて終わりです
カッコの中は’retrun’ではいといけないと思いますよ- この返信は9年、 7ヶ月前にmasuda-clairが編集しました。
2015年4月3日 3:46 PM #73884gell参加者大丈夫だったようですね。
お役に立てた様でよかったです。 -
投稿者投稿
- このトピックに返信するにはログインが必要です。