会員機能
・新規ユーザーは寄稿者としてユーザー登録
・項目はメールアドレスと事業者名
・ユーザーIDは適当に付与
・パスワードは自動
・登録時にカスタム投稿(お店・施設情報)(shop)に新規投稿を追加
・お店・施設情報の投稿IDをユーザーメタ(shop_id)に登録
・新規登録時のサンクスページやフロー表示が必要?
↓
お店・施設情報は下書き状態にし編集後レビュー待ちとして保存
↓
管理者によるお店・施設情報の承認・公開後、イベントやお知らせを投稿
↓
イベントやお知らせはレビュー待ちとして保存
↓
イベントやお知らせは管理者による承認・公開
[備考]
・登録時ユーザー名は非表示
・標準ではユーザー名が必須のため、メールアドレスをユーザー名にコピーして登録
・会員管理に関するメール送信はWP-Membersで設定する必要あり
・投稿に関するメールはPublishPress Planner Freeで設定する必要あり
・WP-Members各種日本語は変更する場合はfunction.php内のadd_filter(‘wpmem_default_text’)
/mypage/
マイページ
[備考]
・お店の情報が承認されているかチェック
・必要な機能がわからないので仮
/new-event/
新規イベント作成ページ
[非ログイン時]ログインしてくださいの表示
[備考]
・acf_form()
・新規投稿は管理者によるレビュー待ち
/new-topics/
新規お知らせ作成ページ
[非ログイン時]ログインしてくださいの表示
[備考]
・acf_form()
・新規投稿は管理者によるレビュー待ち
/mypage/event-list/
登録したイベント一覧ページ
/mypage/topics-list/
登録したおしらせ一覧
mypage/edit-post/?post_id=○○
投稿編集ページ
[非ログイン時]編集権限がないか、投稿が見つかりません。
[ログイン時かつ編集権限の確認]
[備考]
・acf_form()
mypage/cancel-membership
退会ページ
/register/
会員登録ページ
[非ログイン時]会員登録フォーム
[ログイン時]ログアウト
[備考]
・ログイン後はloginにリダイレクト
/login/
ログイン
[非ログイン時]ログインフォーム-ログイン
[ログイン時]ログアウト
?a=logout
ログアウトページ
function.phpの記述
// 管理者と編集者以外は管理画面に入れないようにする
function redirect_non_admin_editor_users()
//会員ページはログインしていないとリダイレクト
function redirect_unlogged_in_user_by_slug()
(‘mypage’, ‘profile’, ‘new-event’, ‘new-topics’, ‘event-list’, ‘topics-list’, ‘edit-post’, ‘cancel-membership’);
//会員登録時のリダイレクト
function my_reg_redirect($fields)
//ユーザー名を非表示
add_filter(‘wpmem_register_fields_arr’
//ユーザーネーム生成
add_filter(‘wpmem_pre_validate_form’
//会員文言変更(wp-members)
add_filter(‘wpmem_default_text’
//会員登録時のリダイレクト
add_action(‘wpmem_register_redirect’
//会員登録時、会員専用投稿を生成
function create_user_exclusive_page($user_id)
// プロフィール画面に紐づいたショップIDを表示
function display_only_custom_user_meta($user)
// フォームバリデーション
add_filter(‘acf/validate_value/name=shop-company-address1’, ‘validate_jp_zip_code_numeric’, 10, 4);
add_filter(‘acf/validate_value/name=shop-address1’, ‘validate_jp_zip_code_numeric’, 10, 4);
add_filter(‘acf/validate_value/name=shop-company-tel’, ‘validate_jp_phone_number’, 10, 4);
add_filter(‘acf/validate_value/name=shop-tel’, ‘validate_jp_phone_number’, 10, 4);