Zapytania o dane WordPress
Zapytania o dane WordPressUżytkownicy

Użytkownicy

Są to przykłady queries do pobierania danych użytkowników i logowania ich.

Pobieranie użytkowników

Pojedynczy użytkownik z jego/jej postami:

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

Lista 5 użytkowników, posortowanych po nazwie:

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

Lista predefiniowanych użytkowników z ich awatarami:

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

Filtrowanie użytkowników po nazwie:

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

Liczenie wyników użytkowników:

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

Stronicowanie użytkowników:

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

Pobieranie wartości meta:

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

Pobieranie ról i uprawnień

Przeczytaj więcej w przewodniku Zapytania o "wrażliwe" pola danych.

Pobieranie roles i capabilities użytkowników:

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

Logowanie i wylogowywanie użytkownika

Zalogowanie użytkownika jest wymagane do wykonywania mutacji (tworzenie posta, dodawanie komentarza itp.).

Ta query loguje użytkownika:

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

Aby pobrać zalogowanego użytkownika:

query {
  me {
    id
    name
  }
}

Wylogowanie użytkownika:

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