web-dev-qa-db-ja.com

カスタムユーザーwordpress - 挿入/更新/削除なしでedit.phpへのゲストアクセスを許可する

私は顧客に製品のデモ版を見せたいサイトに取り組んでいます。これを行うには、彼らはguestアカウントでログインすることができます、私は次のようにこの役割を作成しました

add_role('guest', __('Guest'),
    array(
          'read'    => true
    )
);

ゲストとしてログインするとリダイレクトされ、overview-page /admin.php?page=my_overviewが表示されるので、これでうまくいきますが、ゲストがこの概要内のいずれかの項目をクリックすると、次のようなメッセージが表示されます。このページにアクセスする権限がありません。

/profile.php /edit.php /users.php /admin.phpこれらのページを使うのは私の製品の機能の基本的な部分なので、これらのページへのゲストアカウントアクセス。ただし、それらのページに表示されているデータを挿入/更新/削除しないでください。

複数の異なる権限、すなわちedit_posts、edit_private_posts、edit_private_pages、read_private_posts、read_private_pagesを追加しようとしましたが、正しく動作させることができません。

私はプラグインを使用せずに特定の権限でこのゲストアカウントを取得したいと思います。 基本的に著者と同じことができますが、データベースへの私のデモサイトでのINSERT/UPDATE/DELETEをしないでユーザを作成したいです

それが可能であるかどうか私は知りませんが、どんな助けでも感謝されるでしょう。

1
K. Tromp

新しいロールを作成したら、add_capを使用してそれに機能を追加する必要があります。詳細については、ここをクリックしてください。 https://codex.wordpress.org/Function_Reference/add_cap

私はあなたの特定のケースでは、あなたは作者を複製することができますが、remove_caphttps://codex.wordpress.org/Function_Reference/remove_cap を使用して特定の機能を削除することができると思います

0
TomC