私は教師と彼らが教えるクラスの間の関係を作るために 投稿2投稿 プラグインを使っています。
faculty
です。faculty
投稿には、email_address
というラベルの付いたカスタムメタフィールドがあります。
クラスページは、クラスが追加されるカスタム投稿タイプのclass
です。
Posts 2 Postsプラグインを使えば、2つの投稿タイプclass
とfaculty
を一緒に接続できます。そうすることで、私は先生のemail_address
とtitle
をつかみ、それをclass
ページに表示し、そしてclass
ページへのリンクを先生ページに表示することができます。
これ以外の場合...教師は学校の電子メールを使用してアカウントを作成できるようになります。同じEメールアドレスは、管理者がfaculty
投稿に入力したemail_address
と一致する必要があります。
教師にログインを許可し、自分のユーザーの電子メールアドレスと一致するカスタムメタフィールドemail_address
を持つclass
ページに関連付けられているfaculty
ページのみを編集できるようにします。
Role Scoper プラグインを使用すると、それが可能になるので、これは可能です。唯一の違いは、Role Scoperプラグインでは、手動で設定に入り、投稿タイプclass
に関連付けられているすべてのページを表示し、ユーザー名でユーザーを選択し(電子メールではない)、それらをそのページに追加することです。技術的でないユーザーにとっては、この方法でそれをやるのは面倒で面倒です。
私のやり方では、特定のemail_address
を使ってfaculty
を作成し、それをclass
ページにリンクすることができます。一致する電子メールアドレスを使用してログインすると、編集するclass
ページが表示されます。
うまくいけば、これらのすべてが理にかなっている、私は本当にどこから始めればいいのかわからず、私は答えを探すために半日を費やしました。
自分のページと一致する電子メールアドレスを含むカスタムメタフィールドを持つ別のページに関連する単一のページをユーザーが編集できるようにするにはどうすればよいですか。
少年はそのような複雑な音をしています...前もって大いに感謝と感謝をしています。
email_address
のカスタムメタフィールドがユーザーの電子メールと一致するfaculty
投稿に一致faculty
投稿IDを取得class
IDに(投稿2の投稿で)リンクされているfaculty
の投稿を見つけます。class
投稿を編集する権限をユーザーに付与します。プロセスは非常に簡単ですが、特定のカスタム投稿タイプのページを編集する権限をユーザーに実際に付与する方法はわかりません。またしても、Role Scoperはそれを実行できます。次の質問はその方法です。
これを行う最も簡単な方法は、登録時にカスタマイズされた 作成者ロール をユーザーに与えることであると思います。デフォルトの作成者ロールの機能は、自分の投稿を作成および編集できることだけです。 Vanilla投稿だけでなく、あなたの「クラス」カスタム投稿タイプの機能を有効にするには、これをカスタマイズする必要があります。 metaを持つ教職員の投稿では、 user_register
アクションを query にフックできます。登録されたユーザーの電子メールと一致する値、そして一致する教職員の投稿が見つかった場合はユーザーにあなたの特別な役割を与えるために ユーザーを更新します 。クラスの投稿については、 save_post
を にフックして、その投稿間に接続 を追加します。ユーザーの教職員ページは、新しいクラスの投稿を作成するたびに作成されます。
教職員の代わりに、ユーザーメタを追加し、投稿をユーザーに関連付けるために投稿2投稿を使用しないでください。私はいくつかの会員制サイトをうまく構築するためにこのアプローチを使いました。そうすれば、すべてのNice wp_userベースの機能とセキュリティに頼ることができます。