我正在寻找有关如何仅向特定用户显示特定媒体的想法。
我已经为我想附加特定媒体文件的角色创建了一个新角色和功能。这样新角色的人只能查看已分配给它的媒体。
最后,我正在创建一个人们将登录以下载文档的页面。我希望动态地提取这些文档,但如果我无法弄清楚我在上面要求做什么,我只会将文档硬编码到页面中。
我正在寻找有关如何仅向特定用户显示特定媒体的想法。
我已经为我想附加特定媒体文件的角色创建了一个新角色和功能。这样新角色的人只能查看已分配给它的媒体。
最后,我正在创建一个人们将登录以下载文档的页面。我希望动态地提取这些文档,但如果我无法弄清楚我在上面要求做什么,我只会将文档硬编码到页面中。
好吧...就仅向某些用户显示某些媒体而言...
我们可以检查他们在哪里查看他们的媒体,如果您只是在 WP-Admin 界面中谈论默认媒体库,那么我们可以检查 URL 以查看他们是否在媒体库页面上。
我们将(可能)将此代码放置在我们主题的functions.php 文件中,或者我们的插件中,与您的设计相对应。
//we need access to the $wp_query;
global $wp_query;
//now we build our function, we need to pass $wp_query into it
function manage_user_media($wp_query){
//we check the location of the window
if(strpos($_SERVER['REQUEST_URI'], '/wp-admin/upload.php') !== false ||
strops($_SERVER['REQUEST_URI'], '/wp-admin/media-upload.php') !== false):
//check if the logged in user has a capability of say...a level 5 user
if(!current_user_can('level_5')):
//this user does not have the capabilities of a level 5 user.
//hijack the 'author' query var, so we can set it to the ID of our user
$wp_query->set('author', get_current_user_id());
endif;
endif;
}
如果您对 Wordpress 用户级别感到困惑,请查看 Codex 进行比较。
这意味着,任何超过 5 级用户的人都可以看到[ ALL ]媒体元素,而低于 5 级用户的任何人都只能看到[ HIS OR HER ]媒体元素。