Query WordPress 数据
Query WordPress 数据用户

用户

以下是获取用户数据及登录用户的 Query 示例。

获取用户

包含文章的单个用户:

query {
  user(by: { id: 1 }) {
    name
    email
    url
    posts {
      id
      title
      excerpt
    }
  }
}

按名称排序的 5 位用户列表:

query {
  users(
    pagination: { limit: 5 }
    sort: { by: NAME, order: ASC }
  ) {
    id
    displayName
    websiteURL
  }
}

带头像的指定用户列表:

{
  users(filter: { ids: [2, 3, 5] }) {
    id
    displayName
    url
    avatar(size: 150) {
      size
      src
    }
  }
}

按名称筛选用户:

query {
  users(filter: { searchBy: { name: "le" } }) {
    id
    name
    email
  }
}

统计用户数量:

query {
  userCount(
    filter: { searchBy: { name: "le" } }
  )
}

用户分页:

query {
  users(
    pagination: {
      limit: 5,
      offset: 5
    }
  ) {
    id
    name
  }
}

获取元数据值:

query {
  users {
    id
    name
    metaValue(
      key: "last_name",
    )
  }
}

获取角色与权限

详情请参阅指南 查询"敏感"数据字段

获取用户的 rolescapabilities

query {
  users {
    id
    displayName
    roles {
      name
      capabilities
    }
  }
}

用户登录与登出

执行 mutation(创建文章、添加评论等)需要用户先登录。

以下 Query 用于登录用户:

mutation {
  loginUser(
    by: {
      credentials: {
        usernameOrEmail: "test",
        password: "pass"
      }
    }
  ) {
    status
    errors {
      __typename
      ...on ErrorPayload {
        message
      }
      ...on GenericErrorPayload {
        code
      }
    }
    userID
  }
}

获取已登录的用户:

query {
  me {
    id
    name
  }
}

登出用户:

mutation {
  logoutUser {
    status
    errors {
      __typename
      ...on ErrorPayload {
        message
      }
      ...on GenericErrorPayload {
        code
      }
    }
    userID
  }
}
Prev
Next