Запрос данных WordPress
Запрос данных 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
  }
}

Получение мета-значений:

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

Получение ролей и возможностей

Подробнее в руководстве Запрос «чувствительных» полей данных.

Получение roles и capabilities пользователей:

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

Вход и выход пользователя

Вход в систему необходим для выполнения мутаций (создание публикации, добавление комментария и т.д.).

Эта 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
  }
}