speedcache /cache/css/sc_ad8e99bef8972115d7876906529408b1.css“ rel =” stylesheet“ />按角色進行前端訪問
  1. 安蘭
  2. WP Media Folder功能提示
  3. 11月18 2019日,星期一
  4.  通過電子郵件訂閱
嗨,JoomUnited團隊!

這將是為“常規設置”上的“ WP Media Folder Frontend”開關添加角色選擇方式的主要功能。

如果有人在等待時正在尋找方法,則可以通過替換行號567來更新wp-media-folder.php文件(*)。
原版的 :

567 : $frontend = get_option('wpmf_option_mediafolder');


替換為:


if (!function_exists('wp_get_current_user')) {
include_once(ABSPATH . "wp-includes/pluggable.php");
}
$user = wp_get_current_user();
// Method 1 : create dedicated option
// $auth_roles = get_option('here_custom_option');
// Method 2 : because you need to rewrite this lines after each update perhaps dedicated option isn't needed
$auth_roles = ['administrator', 'other_role'];
if (count(array_intersect($auth_roles, $user->roles)) >= 1) {
//retrieve value only if current user role is in authorized roles list.
$frontend = get_option('wpmf_option_mediafolder');
}


祝你今天愉快 :)

(*) 但每次更新後都會丟失.
接受答案 待審核
你好

感謝您分享此提示。

但是有一種最簡單的方法 :) 我們提供了一些掛鉤,因此您不必破解插件文件: https://www.joomunited.com/wp-media-folder-developer-documentation

這是一些您可以添加到您的functions.php文件中的代碼,該代碼應該可以執行您想要的操作

if (!is_admin()) { // For improved security you may also want to check against DOING_AJAX
add_filter('wpmf_user_can', function($return) {
$userdata = get_userdata(get_current_user_id());
if (!empty($userdata->roles)) {
$role = array_shift($userdata->roles);
}

if (isset($role) && in_array($role, array('list roles you want to disable'))) {
return false;
}

return $return;
}, 10, 1);
}


最好的祝福
接受答案 待審核
你好
太棒了!
我只專注於前面的執行,而不是專注於插件的簡單執行。 就這麼簡單 :)

非常感謝您提供此有用的代碼!

最好的祝福。

(ps。您可以刪除我的醜陋提示)
接受答案 待審核
別擔心,這是我們自己的插件,我們比其他任何人都了解 ;)
  • 頁面:
  • 1


目前還沒有回复。
成為第一位回复此帖子的人!