函數(shù)描述
判斷用戶是否有某個權(quán)限或是否為某個角色,比如我們需要判斷當前登錄的用戶是否為管理員,或者是否有作者權(quán)限。user_can 和 current_user_can 的功能一樣,返回結(jié)果也一樣,current_user_can 只是 user_can 的一個封裝。
使用方法
user_can
current_user_can(?$user, $capability, $args?);
| 參數(shù) | 數(shù)據(jù)類型 | 是否必需 | 描述 | 默認值 |
|---|---|---|---|---|
| $user | 整數(shù)|WP_User 對象 | 是 | 用戶 ID 或用戶對象 | 無 |
| $capability | 字符串 | 是 | 角色或權(quán)限名稱 | 無 |
| $args | 多種 | 否 | 可選參數(shù),通常為對象 ID。 | 無 |
current_user_can
current_user_can 其實就是 user_can 的一個快捷方式,把當前登錄的用戶作為了 user_can 的第一個參數(shù) $user 提供了過去。
current_user_can( $capability, $args );
參數(shù)
| 參數(shù) | 數(shù)據(jù)類型 | 是否必需 | 描述 | 默認值 |
|---|---|---|---|---|
| $capability | 字符串 | 是 | 角色或權(quán)限名稱 | 無 |
| $args | 多種 | 否 | 可選參數(shù),通常為對象 ID。 | 無 |
返回值
(布爾值) 指定的用戶是否有某個權(quán)限或是否為某個角色。
使用示例
判斷當前用戶是否可以編輯某文章。
if (current_user_can('edit_post', 1)) {
echo '當前用戶可以編輯 ID 為 1 的文章';
}
如果當前用戶不是管理員或沒有管理訪問權(quán)限,則隱藏管理員欄。
if ( ! current_user_can( 'manage_options' ) ) {
add_filter( 'show_admin_bar', '__return_false' );
}
顯示只有管理員才可以看到的文字
if( current_user_can('administrator') ) {
echo '只有管理員才可以看到的文字。';
}