user_can 和 current_user_can 判斷用戶是否有某個權(quán)限或是否為某個角色

發(fā)布于:
更新時間:2024-08-01

判斷用戶是否有某個權(quán)限或是否為某個角色,比如我們需要判斷當前登錄的用戶是否為管理員,或者是否有作者權(quán)限。

函數(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 '只有管理員才可以看到的文字。';
}

我們提供 WordPress主題和插件定制開發(fā)服務

本站長期承接 WordPress主題、插件、基于 WooCommerce 的商店商城開發(fā)業(yè)務。 我們有 10 年WordPress開發(fā)經(jīng)驗,如果你想 用WordPress開發(fā)網(wǎng)站, 請聯(lián)系微信: iwillhappy1314,或郵箱: [email protected] 咨詢。

發(fā)表回復

您的郵箱地址不會被公開。 必填項已用 * 標注

*