Truy vấn dữ liệu WordPress
Truy vấn dữ liệu WordPressNgười dùng

Người dùng

Đây là các ví dụ về queries để lấy dữ liệu người dùng và đăng nhập người dùng.

Lấy danh sách người dùng

Một người dùng đơn lẻ cùng với các bài viết của họ:

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

Danh sách 5 người dùng, sắp xếp theo tên:

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

Danh sách các người dùng được chỉ định trước, kèm theo ảnh đại diện:

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

Lọc người dùng theo tên:

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

Đếm số kết quả người dùng:

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

Phân trang người dùng:

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

Lấy các giá trị meta:

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

Lấy vai trò và quyền hạn

Đọc thêm trong hướng dẫn Truy vấn các trường dữ liệu "nhạy cảm".

Lấy rolescapabilities của người dùng:

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

Đăng nhập và đăng xuất người dùng

Đăng nhập người dùng là cần thiết để thực thi các mutation (tạo bài viết, thêm bình luận, v.v.).

Query này thực hiện đăng nhập người dùng:

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

Để lấy thông tin người dùng đang đăng nhập:

query {
  me {
    id
    name
  }
}

Đăng xuất người dùng:

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