QQ咨询不加好友发不了信息,咨询前先加好友! → QQ:820896380 ×

WordPress自定义角色的用户只能看到自己的文章

导语:作者开发一个客户主题的时候,客户希望创建一个Blog角色,此角色的用户只能撰写查看自己的文章,其他用户、其他同类角色的用户的文章都不可以看见。实现代码在执行下面的代码之前,作者已经用register_post_type注册了自定义的blog类型的文章,也使用add_role添加一个叫做bloger的角色。下面的代...

导语:作者开发一个客户主题的时候,客户希望创建一个Blog角色,此角色的用户只能撰写查看自己的文章,其他用户、其他同类角色的用户的文章都不可以看见。

实现代码

在执行下面的代码之前,作者已经用register_post_type注册了自定义的blog类型的文章,也使用add_role添加一个叫做bloger的角色。

下面的代码,先判断了是不是在文章列表页面:/wp-admin/edit.php。

然后,判断是不是bloger角色。

如果条件都满足,那么为查询添加一个新的条件:作者字段等于当前用户的ID。

/** * 如果bloger角色,只能看到自己的文章。 *  * @param array $wp_query   *  * @return void */function Yct_Parse_Query_useronly( $wp_query ) {    if (strpos($_SERVER[ 'REQUEST_URI' ], '/wp-admin/edit.php') !== false ) {        global $current_user;          if (in_array('bloger', $current_user->roles)) {            $wp_query->set('author', $current_user->id);        }    }}   add_filter('parse_query', 'Yct_Parse_Query_useronly');

给TA打赏
共{{data.count}}人
人已打赏
wordpress教程

WP_Query、query_posts() 和 get_posts()应该在什么时候使用

2023-2-16 15:51:25

wordpress教程

WordPress添加媒体中文名图片上传改名

2023-2-16 15:51:27

个人中心
购物车
优惠劵
有新私信 私信列表
搜索