判斷woocommerce商店管理員角色權限

Spread the love

【聲明】本站任何文章都可能有聯盟行銷連結,當你透過文章內的連結購買產品,我可能獲得分潤,這不會增加你任何成本,並且我分享的都是自己實際使用過的資訊,更多細節請點這裡。 Disclosure: Any post on this site may contain affiliate links, meaning I get commission if you decide to make a purchase through my links, at no cost to you.


從role下手搜尋很久,

曾查到自己寫is_shop_manager()
function is_shop_manager() {
$user = wp_get_current_user();
if ( isset( $user->roles[0] ) && $user->roles[0] == ‘shop_manager’ ) {
return true; // when user is shop manager
} else {
return false; // when user is not shop manager
}}

if ( is_shop_manager() ) {
// write code for shop_manager here
}

不過…最後發現解法更簡單:使用 $capability 來判斷就可以了
if (current_user_can(‘manage_woocommerce’) ) {/*要做的事*/}
一行解決

試圖使用 wp_get_current_user()->roles[0] 獲得角色名,
結果在 multisite 環境無法出現

參考文章:
【翻译】wordpress角色和权限终极指南 
Roles & Capabilities 

分享文章
Chaneswin
Chaneswin

【阿淳】漂流過網路行銷、組織行銷、被創業的光環迷惑過,體驗那些未曾想像的驚奇之後,最終的自由卻是擁有澄澈的雙眼、返璞歸真的看世界,我的冒險不在鎂光燈的絢麗舞台,而在迷宮中。把心路歷程化為故事、把工具筆記在雲端。在瞬息萬變的世界裡,慢慢來。
【阿淳的自由生活工具箱】前身小查的白日夢。從腦中的虛幻到真實世界,這裡記錄著一路上不同階段的想法、課程、工具、實踐、挫折,從此放下權威迷思。如果翻出你需要的工具,歡迎隨喜自取、提問討論 :)

文章: 316

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *