Map_meta_cap()関数をフィルタリングしています。これは$ user-> has_cap(current_user_can()から呼び出されます)から呼び出されます。現在のユーザーが管理者である場合にのみ私のフィルタを実行したいので、自分の役割をチェックする条件付きフィルタが必要です。
私はcurrent_user_can()を使うことができません、なぜならそれは私のフィルタを呼び出し、無限ループを引き起こします。
Current_user_can()を使用せずに、誰かが管理者であるかどうかを確認するための信頼できる方法はありますか?
役割を決定するために$current_user
変数をチェックすることができます。
ログインユーザーにとってはinit後に(おそらくinit上でさえも)実現可能であるべきだと私は思います。ゲスト訪問者は明らかに彼または彼女に関連するデータをまだ持っていないでしょう(だから空/未設定になります)。
$current_user
変数を追加するためにget_currentuserinfo()
を呼び出すこともできますが、initの後に$current_user
を呼び出すときに私は個人的に必要性を見つけることができませんでした(ただし、参照するために呼び出す必要がある場合があります)。 。
http://codex.wordpress.org/Function_Reference/get_currentuserinfo