タグ付けされた質問 「user-roles」

一連のユーザー機能の名前。

2
編集者にサイドバーへのアクセスを許可する
編集者ロールに、サイドバーとそのコンテンツの編集へのアクセス権を付与したいと思います。私はそこにテキストウィジェットを持っています。このテキストウィジェットを編集するには、ユーザーは管理者である必要があります-これは最悪です。サイドバーを編集するためのアクセスを許可する編集者ロールに許可を付与するにはどうすればよいですか?

4
他のユーザーがユーザーリストに管理者を表示する機能を削除しますか?
(モデレーターのメモ:元のタイトルは「ユーザーメニューから管理者を削除」でした) 基本的にユーザーを追加/削除できる編集者であるクライアント管理者ロールを作成しました。記事「Editorは、管理者以外の任意の新規ユーザーを作成することができますが、」真の管理者ユーザーの編集や作成から私の新しいクライアント管理者の役割を維持するうえで優れていました。 しかし、理想的なのは、ユーザーを表示しているときに管理者をクライアント管理者から隠すことです。私は彼らが彼らのサイトの管理者であると「信じて」ほしいが、私が彼らが私の役割/ユーザーさえ見ることができるようにしたくない- 彼らが「ユーザー」にいるとき彼らから「管理者」の役割を本質的に隠すパネル。

3
ユーザーの役割を取得する方法
「現在ログインしているユーザー」ではなく、ユーザーに関連付けられたロールを取得する必要があります。 私はBuddypressを使用しており(この質問の性質に関係する必要はありません)、bp_members()ループにいます。 ループ内でレポートしているユーザーのロールをいつでも取得するにはどうすればよいですか? ありがとう。
15 user-roles 

2
ユーザーロールが、自分のレベルよりも低いロールのみで新しいユーザーを作成できるようにする方法は?
私のサイトには3つの追加の役割があります。 医師 受付 ゲスト これらの役割は、次のコードによって追加されます。 * adding Doctor role */ $doctor_role = add_role('Doctor', __('Doctor'), array('read'=>'true')); /* adding Receptionist role */ $receptionist_role = add_role('Receptionist', __('Receptionist'), array('read'=>'true')); /* adding Guest role */ $guest_role = add_role('Guest', __('Guest'), array('read'=>'true')); デフォルトではAdministrator、他のすべてのロールを作成します。ただし、この割り当てロールをユーザーレベルで制限したいと思います。私が意味するのは: 管理者-すべての役割ユーザーを作成できる必要があります-デフォルトで可能です。 医師- ユーザーのみを作成ReceptionistおよびGuestロールできる必要があります 受付係- Guest役割ユーザーのみを作成できる必要があります ゲスト- ユーザーの作成は許可されていません。 どうすればこれができますか?プラグインを使用せずにこれを達成できればより良い。

2
ユーザーロールに機能を追加する方法
私はWordpressネットワークを管理していますが、adminの定義済みのユーザーロールにunfiltered_htmlユーザー機能を追加したいと思います。Wordpressの標準インストールでは、管理者アカウントにはすでにこの機能がありますが、MUインストールでは、スーパー管理者のみがこの機能を利用できます。Wordpressの役割と機能。 テーマまたはプラグイン内から管理者ロールを増強するにはどうすればよいですか?

6
誰でもドラフト投稿にアクセスできるようにするにはどうすればよいですか?
Wordpress Webサイトに未公開の投稿がいくつかあり、通常の投稿スラッグ(site.com/post-here)を使用して、通常のユーザー(ログインしていない)がアクセスできるようにしています。私はそれがベストプラクティスではないかもしれないことを理解していますが、私の特別な目的のために、これを行う必要があります。 functions.phpファイルに次のコードスニペットを追加しようとしました。 function enable_view_drafts() { $role = get_role( 'subscriber' ); $role->add_cap( 'read_private_posts' ); $role->add_cap( 'edit_posts' ); } add_action( 'after_setup_theme', 'enable_view_drafts'); のinit代わりにフックも試しましたafter_setup_theme。運がありません。 私の理解では、ロールへの変更はデータベースに保存されるので、一度だけ行う必要があります。そのためafter_setup_theme、フックを使用して関数を呼び出しています。 しかし、通常のユーザーとしてページにアクセスしようとすると、投稿コンテンツを表示する代わりに404ページが表示されます。プレビューURL(site.com/?p=212&preview=true)の読み込みも試みましたが、どちらも機能しませんでした。 これらは私の推測です: 通常のユーザーはcaps下書きの投稿を読むのに十分ではありません。 フロントエンドで下書きの投稿をテストおよび表示することは、ユーザー(管理者を含む)にはできません。 私がやろうとしていることを達成するために、どのような変更を加える必要がありますか?それが不可能な場合、どのような代替ソリューションを提案しますか? 注:プラグインベースのソリューションは探していません。

2
デフォルトの役割と機能をリセットする
カスタムの投稿タイプの機能をロールに追加する(デフォルトのロールに機能を追加する)のに苦労しており、混乱が原因で問題が発生したと思われます。また、さまざまなプラグインをインストールおよびアンインストールし、その一部に機能を追加しました。結果として、私のWP Roleオブジェクトは少し混乱しています。機能をリセットする方法を知っている人はいますか、それとも新規インストールが必要ですか?

1
add_role()は1回だけ実行されますか?
add_role()がデータベースを変更し、ロールが既に存在する場合に失敗することを発見して驚きました。ここには2つの意味があります。1つ目はもう1つより深刻です:1)add_roleコードを開発して更新している場合は、最初にremove_role()を実行する必要があります再び。 そのため、通常はadd_role()をwp_loadedアクションフック内に入れています。また、開発中なので、add_roleの前にremove_role()を追加したため、キャップのリストを変更した場合に実際に有効になることを確認できます。 しかし明らかに、これはブログのページがアクセスされるたびに実行されています。さて、管理者のみのアクションに入れることも、このロールを1回作成できるユーザーまたはツールの下にプラグインページを作成することもできます。もっとシンプルでエレガントなソリューションが出ることを期待していると思います。 run_onceのようなアクションがあるとは思いませんか? または、ロールを追加してからadd_cap()を何回も使用するだけのベストプラクティスですか?そして、それでもadd_capがdbにアクセスしていると思います。 不要なdbアクセスを減らすための最良の方法について考えてみてください。あなたのベストプラクティスは何ですか?


2
wp_データベースで利用可能なロール定義はどこにありますか?
マルチサイトネットワークで使用しているプラ​​グインのプライベートベータ版をテストするためにリストに載りました。 プラグインの作成者には、カスタムの役割を追加するためのコードが含まれています。彼らには、ユーザーに1つのカスタムロール以外のロールを与える機能を削除するバグがあります。 にアクセスする../wp-admin/network/site-users.phpと、[ユーザーの追加]ロールのプルダウンには、このプラグインが追加した1つのロールのみが表示されます。役割変更プルダウンメニューには、すべてのWPのデフォルトの役割と、これと他のプラグインが追加したいくつかの追加の役割が表示されます。ユーザーをこれらの役割のいずれかに変更しようとすると、「ユーザーにその役割を与えることはできません」というエラーページが表示されます。 私はこれについて開発者と話し合っていますが、彼らは困惑しているようです。 私は自分のデータベースとコーデックスを調べてきましたが、有効なロールが定義されている場所を見つけることができません。


2
役割と機能を追加するときに、どのアクションにフックする必要がありますか?
add_role()と$ role-> add_cap()を使用して、新しいカスタムロールを設定し、既存のロールに新しい機能をアタッチします。 これを行うのに最適な場所はどこですか?もちろん、functions.php内で直接実行でき、それで処理を完了できます。しかし、これはベストプラクティスですか?これを行う必要があるのはadmin_initだけですか?または私はinitでそれをすべきですか? functions.php内に直接の関数呼び出しを単にドロップするのではなく、initアクションフックの使用に関するベストプラクティスが何であるかは完全にはわかりません。 あなたの入力をありがとう!


4
カスタム投稿タイプの役割のアクセス許可では読み込めません
サプライヤーのユーザーロールが発送の投稿タイプを読み取れるように、それを取得できません。メニューに表示されますが、クリックすると、このページのエラーメッセージを表示することはできません。 それは私add_cap('read_posts')が機能する場合は機能しますが、彼らに通常の投稿を表示したくないのは、発送の投稿タイプだけです。 次の機能を備えたサプライヤーユーザーロールがあります。 WP_Role Object ( [name] => supplier [capabilities] => Array ( [read] => 1 [edit_shipment] => 1 [read_shipment] => 1 [edit_others_shipments] => 1 [publish_shipments] => 1 [read_private_shipments] => 1 [edit_shipments] => 1 [create_shipment] => 1 [read_shipments] => 1 ) ) そして、私は次のように出荷のポストタイプを設定しました function shipment_post_type() { $labels = array( 'name' …

3
プログラムでユーザーを作成するときにユーザーアクティベーションメールを送信する
ここの誰かが手伝ってくれるのかしら。 基本的に、検証時にユーザーをユーザーテーブルに挿入するカスタム登録フォームを作成しました。 function _new_user($data) { // Separate Data $default_newuser = array( 'user_pass' => wp_hash_password( $data['user_pass']), 'user_login' => $data['user_login'], 'user_email' => $data['user_email'], 'first_name' => $data['first_name'], 'last_name' => $data['last_name'], 'role' => 'pending' ); wp_insert_user($default_newuser); } 今、私がする必要があるのは、次のコードで実行できる確認メールを送信するのではなくです。 wp_new_user_notification($user_id, $data['user_pass']); 代わりにユーザーアクティベーションメールを送信します。いくつか試しましたが、具体的なものを見つけることができないようです。誰かが以前にこの問題を抱えていたことを願っています。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.