亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

僅向多個授權用戶角色顯示 WooCommerce 產品

僅向多個授權用戶角色顯示 WooCommerce 產品

Helenr 2021-12-03 16:39:12
我正在嘗試調整“在 WooCommerce 中對未經授權的用戶完全隱藏產品”答案代碼,以允許多個自定義用戶角色查看此產品。我認為實現這一點的最佳方法是擴展授權用戶功能以包含此用戶角色。這是我嘗試實施但沒有成功的更改。有人可以說明如何進行嗎?// Conditional function checking for authorized usersfunction is_authorized_user() {    if ( is_user_logged_in() ) {        $user = wp_get_current_user();        $caps = $user->allcaps;        if ( ( isset($caps['edit_product']) && $caps['edit_product'] ) ||        array( 'custom_user_role1', 'custom_user_role2', $user->roles ) )           return true;    } else         return false;}如何使其適用于一系列用戶角色,而不僅僅是一個?任何幫助表示贊賞。
查看完整描述

1 回答

?
郎朗坤

TA貢獻1921條經驗 獲得超9個贊

由于您有 2 個要比較的數組:

  • 您的 2 個自定義角色(在數組中)

  • 當前用戶角色(即數組)

您可以使用array_intersect()php 函數使其以這種方式工作:

// Conditional function checking for authorized users

function is_authorized_user(){


    if ( is_user_logged_in() ) {


        $user = wp_get_current_user();

        $caps = $user->allcaps;


        if ( ( isset($caps['edit_product']) && $caps['edit_product'] ) || 

        array_intersect( ['custom_user_role1', 'custom_user_role2'], $user->roles ) ) {

            return true;

        }


        return false; 

    } 

    else {

        return false; 

    }

}

它現在應該適用于多個用戶角色。


查看完整回答
反對 回復 2021-12-03
  • 1 回答
  • 0 關注
  • 251 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號