个性化阅读
专注于IT技术分析

如何自定义WordPress list_users函数?

我正在尝试寻找一种在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' );

#1


我认为这应该对你有用→https://codex.wordpress.org/Class_Reference/WP_User_Query

  1. 检索所有用户。
  2. 用户对于每个循环。
  3. 使用meta_query参数, 因为WP将功能作为json字符串存储在user_meta中。

我给你一个提示怎么做→

 $entire_user_list = get_users();
    $somse_users= array();

    foreach($entire_user_list as $user){

        if($user->has_cap('specific_capability')){
            $somse_users[] = $user;
        }

    }

#2


我已经使用DOMDocument类解决了它。

赞(0)
未经允许不得转载:srcmini » 如何自定义WordPress list_users函数?

评论 抢沙发

评论前必须登录!