WordPressで会員制サイトを構築できるプラグインはいくつかあるようだけど、WordPress本体への登録ユーザーが対象。これらのプラグインを利用してWelcartの登録メンバー専用会員制ページが構築できないものか?「VIP会員」専用のコンテンツとか。
でもWelcartの登録メンバーと、WordPressの登録ユーザーとを同期させるという大問題が発生する。
これはそう簡単にはいきそうにない。
そこで発想を転換。
Welcartのメンバーのランクで、WordPress本体のコンテンツにアクセス制限をかけてみることにしてみた。
http://tukuruder.com/archives/1424で作った、Welcartのメンバーのランク判定する関数usces_the_member_status()を使用。
まず会員専用ページを管理画面 >> 固定ページ(ページ) >> 新規追加 で作成。このページIDを「ID-1」とする。
同様に非会員がアクセスした際に表示されるエラーメッセージのページを作成。このページIDを「ID-2」とする。
次にテーマディレクトリのfunctions.phpへ下のスクリプトを追記。「ID-1」「ID-2」にはそれぞれのページIDが入る。この例では会員のランクが「VIP会員」の場合のみ「ID-1」のページが表示され、他のランクの会員やユーザーは「ID-2」のページへリダイレクトされる。
[codesyntax lang=”php” title=”PHP”]
add_action('get_header', 'member_page'); function member_page(){ if(is_page(ID-1) && usces_the_member_status() != 2 ){ wp_redirect(get_permalink(ID-2)); exit; } }
[/codesyntax]
この例では1ページのみ指定してみたけど、投稿カテゴリーやページ属性の親ページを指定すれば、その下の階層を会員制コンテンツにすることも可能かも。