การ Query ข้อมูล WordPress
การ Query ข้อมูล WordPressผู้ใช้

ผู้ใช้

ตัวอย่างเหล่านี้คือ queries สำหรับดึงข้อมูลผู้ใช้และล็อกอินผู้ใช้

การดึงข้อมูลผู้ใช้

ผู้ใช้รายเดียวพร้อมโพสต์ของเขา/เธอ:

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
  }
}

ดึงค่า meta:

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

การดึงข้อมูล roles และ capabilities

อ่านเพิ่มเติมในคู่มือ การ query ฟิลด์ข้อมูล "ที่ละเอียดอ่อน"

การดึง roles และ capabilities ของผู้ใช้:

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

การล็อกอินและล็อกเอาต์ผู้ใช้

การล็อกอินผู้ใช้จำเป็นต้องทำก่อนเพื่อ execute mutations (สร้างโพสต์ เพิ่มความคิดเห็น เป็นต้น)

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
  }
}