web-dev-qa-db-ja.com

Current_user_can()を使用せずにユーザーロールを確認する方法

Map_meta_cap()関数をフィルタリングしています。これは$ user-> has_cap(current_user_can()から呼び出されます)から呼び出されます。現在のユーザーが管理者である場合にのみ私のフィルタを実行したいので、自分の役割をチェックする条件付きフィルタが必要です。

私はcurrent_user_can()を使うことができません、なぜならそれは私のフィルタを呼び出し、無限ループを引き起こします。

Current_user_can()を使用せずに、誰かが管理者であるかどうかを確認するための信頼できる方法はありますか?

4
jessica

役割を決定するために$current_user変数をチェックすることができます。

ログインユーザーにとってはinit後に(おそらくinit上でさえも)実現可能であるべきだと私は思います。ゲスト訪問者は明らかに彼または彼女に関連するデータをまだ持っていないでしょう(だから空/未設定になります)。

$current_user変数を追加するためにget_currentuserinfo()を呼び出すこともできますが、initの後に$current_userを呼び出すときに私は個人的に必要性を見つけることができませんでした(ただし、参照するために呼び出す必要がある場合があります)。 。

http://codex.wordpress.org/Function_Reference/get_currentuserinfo

5
t31os