我正在尝试找到一种在Wordpress中自定义list_users
功能的方法,
我创建了一个名为my_admin
的新角色,并为其添加了一些功能。
问题是list_users
功能显示所有用户,而我想根据用户元字段仅显示一组用户。
关于edit_users
功能的另一个问题是我可以限制此功能来编辑用户而不提升它们,此功能可以编辑用户并促进用户,这意味着它还可以更改用户角色。有什么方法可以从中删除此促销功能,我还可以只选择一个输入字段进行编辑并删除其他字段吗?
function my_new_service_capabilities() {
// Get the role object.
$editor = get_role( 'my_admin' );
// A list of capabilities to add.
$addcaps = array(
'read',
'edit_posts',
'list_users', //I need to list users according to a user meta value.
'edit_users', //I need to enable editing users in only one input field
'moderate_comments',
);
foreach ( $addcaps as $acap ) {
// Add the capability.
$editor->add_cap( $acap );
}
}
add_action( 'init', 'my_new_service_capabilities' );
答案 0 :(得分:0)
我认为这应该适合你→ https://codex.wordpress.org/Class_Reference/WP_User_Query
我正在告诉你如何做到这一点→
$entire_user_list = get_users();
$somse_users= array();
foreach($entire_user_list as $user){
if($user->has_cap('specific_capability')){
$somse_users[] = $user;
}
}
答案 1 :(得分:0)
我使用DOMDocument
类解决了它。