質問: メンバーにカスタム投稿タイプへのアクセスのみを許可します。自分の投稿のみを編集する権限 okこれを攻撃するための最善の方法を探しています。私はphpとwordpressのカスタムメタフィールドを使ってカスタム投稿タイプを作ることにとても満足しています。これが私がやっているところです。 ユーザーはデフォルトで登録し、加入者に設定されます。 ユーザーがカスタム投稿タイプに対する権限を持つように管理者に要求します。 管理者はユーザーに "shop owner"などの別の権限名を割り当てます。 ユーザーはカスタム投稿タイプを見ることができ、この投稿タイプにエントリを作成できます。 ユーザーは自分の投稿を表示および編集することしかできません。 私は以下について助けが必要です。 「shop owner」という新しい「ロール」を作成する方法 カスタムの投稿タイプを表示してアクセスするためだけに、そのロールに正しい権限を付与する方法。 ユーザーがこのカスタム投稿タイプに対する自分の投稿を表示および編集できるようにするだけです。 理想的には、これはすべてwp-adminから行われることを望みますが、私は自分がしている有限の制御を得るためにこれのためのフロントエンドを構築する必要があるかもしれないと思います。どんな入力でも大歓迎です。敬具
回答: 登録投稿タイプには「capabilities」という名前のパラメーターがあるので、例えば'capability' => 'organize_shop', http://codex.wordpress.org/function_reference/register_post_type 新しいユーザー/ロール/機能を作成するには、簡単な例としてadd_role、add_capを使用します。// add the role to wordpress list of roles // then add the capability 'organize_shop' to the 'shop_owner' role $role = add_role( 'shop_owner', 'shop owner', ['edit_posts' => true])); $role->add_cap( 'organize_shop' ); // if 'shop_owner' already exists make `$wp_roles` visible then // add the capability 'organize_shop' to the 'show owner' role public $wp_roles; $wp_roles->add_cap( 'shop_owner', 'organize_shop' );