タグ付けされた質問 「capabilities」

WordPressは役割の概念を使用しており、サイトの所有者がユーザーがサイト内で実行できることと実行できないことを制御できるように設計されています。各役割は、機能と呼ばれる一連のタスクを実行できます。

5
WordPressサイトで現在利用可能なロールのリストを取得していますか?
WordPressプラグインを作成する際、多くの場合、サイト上のロールが特定の機能またはコンテンツにアクセスするためのオプションを設定する必要があります。これを行うには、プラグイン開発者がオプションで使用するサイトに存在するロールのリストを取得する必要があります。カスタムロールを作成できるため、デフォルトロールのみが使用できるとは限りません。 リストを取得する最良の方法は何ですか?

4
編集者は管理者以外の新しいユーザーを作成できます
クライアント用にWordPressサイトを設定しました。クライアントには編集者の役割がありますが、メンバープラグインをインストールし、クライアントにWP管理者に新しいユーザーを追加する機能を与えました。これはうまく機能しています。 私が持っている質問は、クライアントに、管理者ではなく、寄稿者、購読者、編集者、および作成者の役割のように新しいユーザーを作成できるようにしたいということです。クライアントが作成する新しいユーザーには、管理者の役割を割り当てないでください。このオプションを何らかの方法で非表示にすることは可能ですか? ありがとう、Vayu

4
機能とカスタム投稿タイプ
特定の役割へのアクセスを制限したいカスタム投稿タイプがありますが、カスタム投稿タイプを使用してコンテンツをすでに追加しているので、制限する必要があります。capability_typeは 'post'でした 'capability_type' => 'post' ただし、コンテンツがバックエンドに表示されるのでどちらがいいですか。機能を追加するとすぐに、コンテンツはバックエンドから消えますか? 複数の定義を含むように機能タイプをカスタマイズして独自の構成を試みましたが、機能タイプを削除または変更するとすぐに消えてしまいます! 完全なコード: add_action( 'init', 'register_cpt_gallery' ); function register_cpt_gallery() { $labels = array( 'name' => _x( 'Galleries', 'gallery' ), 'singular_name' => _x( 'Gallery', 'gallery' ), 'add_new' => _x( 'Add New', 'gallery' ), 'add_new_item' => _x( 'Add New Gallery', 'gallery' ), 'edit_item' => _x( 'Edit Gallery', …


3
カスタムロール機能を作成するにはどうすればよいですか?
プラグインのインターフェースにアクセスするためのカスタム機能を作成したい。 プラグインは、アクティベーション時にすべての管理者アカウントにこの機能を追加して管理する必要がありますか? その場合:WordPressは、サブブログのすべての管理者とマルチサイトインストールのスーパー管理者に機能を追加することを管理していますか、またはその機能をプラグインで処理する必要がありますか?


6
特定のユーザーロールからカスタム投稿タイプUI /メニューを非表示にできますか?
私がしたいことは、特定のユーザーロールからカスタム投稿タイプのUIを完全に隠すことです...これらのCPTを使用するアクセスを無効にする方法に関する多くのリソースを以前に見つけましたが、CPT UIを完全に隠すことはできませんダッシュボードにログインしているユーザーに基づいてすべて一緒に。 これは、クライアントがストアのカスタム投稿タイプから完全に離れる必要があるため重要であり、ダッシュボードでストアCPT UIを表示できる場合でも、問い合わせを行うために機能が制限されている場合でも違いはありません。結果として自分で製品を追加する方法。 私はプラグインでこれを達成しないことを本当に好みますが、私が思うにまだ肥大化していない方法でトリックを行うことができるものがあればそれは素晴らしいでしょう。 助けてくれてありがとう、SB

7
管理者パネルで投稿の作成者としてサブスクライバーを選択しますか?
管理者で投稿の作成者である購読者を選択できるようにしたいので、投稿を書いたように名前が表示されますが、追加の権限を与えたくありません(ログインできる場合は、アクセスできるのは彼らのプロフィール)。 役割と機能を変更せずにこれを行う簡単な方法はありますか? ありがとう

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

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アクセスを減らすための最良の方法について考えてみてください。あなたのベストプラクティスは何ですか?

3
current_user_can()および関連する関数を使用する有効なタイミングは何ですか?
通常のWPコアのロード中に、現在のユーザーがセットアップされて$wp-init()いinitます。テーマのロード後、フック前です。これは、機能に慣れる、initまたは後で慣れるのと同じです。 ただし、それcurrent_user_can() より前など、関連する関数を呼び出すことも一般的です。これは、ロードプロセスの初期段階で動作するプラグインに必要な定義です(私のツールバーテーマスイッチャープラグインがその例です)。 ドキュメンテーションは、(私が見つけることができた)この慣行に対する賛成も反対もしません。 ただし、一部のプラグインはユーザー関連の機能にフックしinit、常にポスト状態を期待するようです。 たとえば、bbPressは次の通知をスローします。 // If the current user is being setup before the "init" action has fired, // strange (and difficult to debug) role/capability issues will occur. if ( ! did_action( 'after_setup_theme' ) ) { _doing_it_wrong( __FUNCTION__, __( 'The current user is being initialized without using $wp->init().', …


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