是否在WordPress MultiSite中隐藏其他用户上传的媒体?

时间:2014-01-08 作者:Harish Kumar

我正在使用WordPress Multisite,想隐藏其他人上传的媒体。就像该站点的X用户在该站点上载了任何媒体一样,Y用户应该无法通过其登录查看或访问该媒体。

1 个回复
最合适的回答,由SO网友:Ravi Patel 整理而成

/**
 * Allow access to own content only
 */
function my_authored_content($query) {

//get current user info to see if they are allowed to access ANY posts and pages
$current_user = wp_get_current_user();
// set current user to $is_user
$is_user = $current_user->user_login;

//if is admin or \'is_user\' does not equal #username
if (!current_user_can(\'manage_options\')){
    //if in the admin panel
    if($query->is_admin) {

        global $user_ID;
        $query->set(\'author\',  $user_ID);

    }
    return $query;
}
return $query;
}
add_filter(\'pre_get_posts\', \'my_authored_content\');
这只会让管理员和作者看到内容。

您可以将其添加到main functions文件或将其转换为插件。

结束

相关推荐

如何在必用插件中使用is_MultiSite()?

我希望此代码在mu plugins文件夹中的插件中执行。在函数中执行时。php一切正常,但当我在mu插件中尝试它时,会创建一个空白页面。if (( is_multisite() && !current_user_can(\'manage_network\') ) || ( !is_multisite() && !current_user_can(\'create_users\'))) { add_action( \'init\', create_functio