我为一组用户创建一个角色并设置功能。
$userdata = array(
//something
);
$uid = wp_insert_user($userdata);
if(!empty($uid)){
$blogger = new WP_User($uid);
//add role
$capabilities = array(
\'read\' => true,
\'publish_posts\' => true,
\'edit_published_posts\' => true,
\'delete_published_posts\' => true,
\'edit_posts\' => true,
\'delete_posts\' => true
);
add_role(\'blogger_simple\', \'blogger_simple\', $capabilities);
$blogger -> set_role(\'blogger_simple\');
}
现在,用户创建成功。我登录到系统,并创建
one
发布,仅
one
邮递
然后单击菜单Post --> All Posts
在那里发现了三列Mine(number) All(number) Published(number)
.
我点击全部(2),发现我可以看到其他帖子
我点击发布(2),仍然有2篇帖子,一篇是我的,另一篇是管理员的。此外,我搜索帖子,得到了相同的结果。
这不是我想要的,我只是想得到我的帖子,而不是通过管理员和所有其他用户的帖子。当我点击时,如何获得我的帖子All/Published
下面的链接All posts
菜单,还有search box
.
最合适的回答,由SO网友:s_ha_dum 整理而成
您需要筛选该列表。
function alter_views_wpse_103613($views) {
$role = \'blogger_simple\';
if (current_user_can($role)) {
$views = array(\'mine\'=>$views[\'mine\']);
}
return $views;
}
add_filter( \'views_edit-post\', \'alter_views_wpse_103613\' );
该筛选器列表是
WP_List_Table
如果要进行更多调查,请初始化。查找
views
方法