web-dev-qa-db-ja.com

「作者」とカスタム分類法の関連付け

私はカスタムロール「Ministry Representative」を持っています。これはログインして独自の「Opportunities」と「Events」を作成および管理することができます。これはそれぞれカスタム投稿タイプです。

サイトのフロントエンドでは、「商談」というカスタム投稿タイプの両方に関連付けられたカスタム分類法である「省」によって、機会またはイベントをフィルタ処理できます。

バックエンドで、私は自分のプロフィールに表示されるものを管理するために、 "Opportunities"と "Events"のインデックスページのフィルタリング結果内で、 "Ministry Representative"のアカウントを作成します。

チャレンジ

"Ministry Representative"が新しい "Event"を作成しようとするとき、彼らは詳細を入力し、そしてカスタム分類学から、彼らは選ばなければならない:

  • 場所(階層的なカスタム分類法)
  • プレゼンター(非階層型カスタム分類法)
  • 省(階層以外のカスタム分類法)

だから、本質的には、彼らは自分自身を選ばなければなりません。 "A省"の "省代表"であるJohn Doeは、ドロップダウン(WP Alchemyによるカスタムメタボックス)から自分の省を選択する必要があります。

理想的な解決策

理想的には、新しい「イベント」または「機会」が「省A」のJohn Doeによって作成されたときに、エンドユーザーがインターフェースレベルで入力を要求することなく関連付けが行われます。

だから、私が探しているのは、カスタム分類法の中で特定の用語にユーザーアカウントを関連付ける方法です。think.

それは理にかなっていますか?おそらく、問題を調べるための別の方法はありますか?私が想像しているように、私はこれを便利にすることができる他のアプリケーションを見ることができました。アカウントが作成され、Xユーザーが特定の種類のコンテンツを提供すると、事前に選択された用語が自動的にその提供されたコンテンツに関連付けられます。

任意の考えやアイデアは大歓迎です。ありがとうございました!

3
Jonathan Wold

私は仕事を思いつくことができました!まず、Role Scoperを使用してユーザーアカウントを特定の用語に限定しました。この場合、省庁の担当者は「省庁」の分類法ではその省の名前に限定されます。次に、WPAlchemyクラスを使用して、用語を一覧表示するカスタムメタボックスを作成しました。1つしか返されなかったため、既に選択しています。次に、私は管理者スタイルシートを介してそれを隠しました。

その結果、省の代表者が新しいイベントや商談を作成したときに、彼らの省の名前がす​​でに選択されていて(それが表示されていなくても)、関連付けが保存されます。それは用語を設定するために管理者の側で少し作業を必要とします、そして、もしそれが存在するならば私はまだ同じことをするもっときれいな方法が欲しいです。

誰かが私の回避策の詳細を知りたい場合は、私に知らせてください。

4
Jonathan Wold

これを実現するにはusermetaを使うべきだと思います。たとえば、ユーザーの「ミニストリー」を自分のプロファイルに設定し(基本的にはその分類法の用語のリストになります)、tax_term_idをユーザーメタとして保存します。さらに、プレゼンターごとに1つの固有の用語を確実にするために、用語名としてuser_loginを使用して、プレゼンター分類法で新しい用語を作成する必要があります。ただし、このtax_term_idをusermetaに保存する必要はありません。場所はプロファイルから設定してusermetaに保存することもできますが、WordPressが使用するデフォルトのUIを使用することをお勧めします。

これらの設定がすべて終わったら、'save_post'アクションにフックして、これらの用語すべてが保存時に投稿に適用されるようにします。

そうは言っても、あなたはすでに投稿の作者を問い合わせることができるので、あなたがプレゼンターに直接関連する分類法をなぜ必要とするのか理解できません。

0
John P Bloch