• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • dedecms
  • ecshop
  • z-blog
  • UcHome
  • UCenter
  • drupal
  • WordPress
  • 帝国cms
  • phpcms
  • 动易cms
  • phpwind
  • discuz
  • 科汛cms
  • 风讯cms
  • 建站教程
  • 运营技巧
您的位置:首页 > CMS教程 >WordPress > WordPress自定义角色的用户只能看到自己上传的图片

WordPress自定义角色的用户只能看到自己上传的图片

作者:小兽 字体:[增加 减小] 来源:互联网 时间:2018-11-02

小兽向大家介绍了WordPress自定义角色的用户只能看到自己上传的图片等相关知识,希望对您有所帮助

导语:作者希望自定义的角色的用户只能看到自己的图片,不能看到其他用户的图片,但管理员能看到所有用户的图片。作者定义了一个叫做bloger的角色,这个角色可以撰写blog类型的文章。

实现代码

因为使用add_action:pre_get_posts来实现的,添加的此动作会影响每一次原生态查询,所以定义函数Yct_Restrict_Media_library里面的执行条件应该选择严格一些,尽量减少影响。

先判断是不是在管理员后台,同时用户是不是已经登录。

再判断是不是WordPress用户类,!is_a($current_user, ‘WP_User’)。

随后判断是不是在媒体库的页面,’admin-ajax.php’ != $pagenow。

最后判断是不是bloger角色的用户。

如果条件都符合,那么添加一个查询条件:为本次查询记录指定作者。

/**
 * 如果bloger角色,只能看到自己的上传图片。bloger角色没有管理媒体库的权限,只有上传的权限。
 * bloger角色和作者角色类似。
 * 
 * @param array $wp_query_obj 
 * 
 * @return void
 */
function Yct_Restrict_Media_library($wp_query_obj) 
{
    global $current_user, $pagenow;
    if (is_admin() && is_user_logged_in()) {
        //判断当前用户是否是WordPress用户类,不是返回
        if (!is_a($current_user, 'WP_User')) {
            return;
        }
        //判断是否是图片AJAX页,
        if ('admin-ajax.php' != $pagenow || $_REQUEST['action'] != 'query-attachments') {
            return;
        }
        //如果当前用户的角色是bloger,则增加查询条件:author字段等于当前用户的ID
        if (in_array('bloger', $current_user->roles)) {      
            $wp_query_obj->set('author', $current_user->ID);
        }
    }
     return;
}
add_action('pre_get_posts', 'Yct_Restrict_Media_library');
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

相关文章

  • 2018-11-02如何在WordPress主题中显示作者的评论计数
  • 2018-11-02良好的WordPress主机的重要性
  • 2018-11-02wordpress外贸网站需要多少带宽、月流量和空间才合适?
  • 2017-05-13wordpress中强大的调用文章函数query posts 用法
  • 2017-05-13WordPress博客程序常见错误的解决方法
  • 2018-11-02使用CDN后WP-PostViews插件计数不准确的解决办法
  • 2018-11-02WordPress仿雷锋网操作帮助文档
  • 2018-11-02wordpress首页不显示文章全部内容,只显示部分摘要
  • 2017-05-13WordPress 显示文章摘要方法 详细篇
  • 2017-05-13WordPress投稿功能添加邮件提醒功能的方法

文章分类

  • dedecms
  • ecshop
  • z-blog
  • UcHome
  • UCenter
  • drupal
  • WordPress
  • 帝国cms
  • phpcms
  • 动易cms
  • phpwind
  • discuz
  • 科汛cms
  • 风讯cms
  • 建站教程
  • 运营技巧

最近更新的内容

    • WordPress 嵌套回复 (优缺点对照)
    • WordPress中输出当前页面SQL语句的方法
    • wordpress抓取文章第一张远程图片保存到本地的方法
    • WordPress获取当前页面URL地址的方法
    • 显示当前文章分类和父分类的链接
    • WordPress获取文章形式函数:get_post_format
    • WordPress数据库的基本构造及各表结构
    • 最強的 WordPress 安全插件 – Wordfence Security
    • 不花一分钱,轻松创建完美wordPress网站!
    • WordPress上传文件自动重命名

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有