如何向一般用户隐藏媒体库图像?

时间:2012-12-20 作者:Jim I

作为一名管理员,我非常喜欢WordPress 3.5 media manager的特性和功能。

使用多用户站点,所有用户都可以看到媒体库中的所有图像,无论是否由他们上传。以前是afunctions.php 脚本可能会屏蔽/限制访问
例如:

// Hide Media Library tab Tab from each individual agent
function remove_medialibrary_tab($tabs) {
    if ( !current_user_can( \'update_core\' ) ) {
        unset($tabs[\'library\']);
        return $tabs;
    }    }
add_filter(\'media_upload_tabs\',\'remove_medialibrary_tab\');
这不再有效,因为我相信媒体库现在是基于JavaScript的。

The question: 我现在如何隐藏或屏蔽WordPress 3.5媒体库中未上载图像的用户的图像?我希望用户只看到自己的图片,或者只看到他们上传到这个特定帖子或页面的图片。

当前的结构和设计对于希望在整个用户组织中共享图像的报纸来说是非常好的,但对于需要更严格的控制和独立的多用户访问的网站来说则不是那么好。

我不是一个编码员,或者充其量只是一个业余爱好者,但我突然想到,选项可能包括:在新的3.5库下拉菜单中屏蔽或编码所有附件过滤器,只在列表中留下“上载到此页面”,或者可能是一个允许管理员为普通用户打开或关闭媒体库图像可见性的开关。

如能就此提供任何指导或指示,将不胜感激。

2 个回复
SO网友:timocouckuyt

要让当前用户仅查看其上载的附件,请将以下代码添加到主题操作中:

add_filter( \'posts_where\', \'devplus_wpquery_where\' );
function devplus_wpquery_where( $where ){
    global $current_user;

    if( is_user_logged_in() ){
         // logged in user, but are we viewing the library?
         if( isset( $_POST[\'action\'] ) && ( $_POST[\'action\'] == \'query-attachments\' ) ){
            // here you can add some extra logic if you\'d want to.
            $where .= \' AND post_author=\'.$current_user->data->ID;
        }
    }

    return $where;
}
希望这有帮助!

SO网友:Jeffrey Carandang

谢谢@timocouckuyt,这很好用,但你也需要这一个用于/wp-admin/upload。php链接:

add_filter(\'pre_get_posts\', \'hide_posts_media_by_other\');
function hide_posts_media_by_other($query) {
global $pagenow;

if( \'upload.php\' != $pagenow || !$query->is_admin ){
    return $query;
}

if( !current_user_can( \'manage_options\' ) ) {
    global $user_ID;
    $query->set(\'author\', $user_ID );
}
return $query;
}
有关向其他用户隐藏媒体和帖子的完整教程,请查看本教程:http://jeffreycarandang.com/tutorials/hide-wordpress-posts-media-uploaded-users/

干杯,笨蛋

结束

相关推荐

Images inside post title

有没有办法在帖子标题中插入图片?它还需要在<title> 标签、永久链接等。我之所以需要这样做,是因为我有一个客户希望在页面标题中使用他们的徽标,而不是纯文本。因此,图像可能位于标题中的任何位置,因此我不能只是附加/前置图像。我能想到的唯一解决方案是使用javascript进行查找和替换,但这似乎不是一个很好的解决方案。。。