플러그인 설정
플러그인 설정메타 값의 허용/거부 목록 정의

메타 값의 허용/거부 목록 정의

해당 타입에서 metaValue(단일 값)및 metaValues(값의 배열)필드를 쿼리하여 커스텀 포스트, 사용자, 댓글, 택소노미(태그 및 카테고리)의 메타 값을 가져올 수 있습니다.

  • Post.metaValue
  • Post.metaValues
  • GenericCustomPost.metaValue
  • GenericCustomPost.metaValues
  • User.metaValue
  • User.metaValues
  • Comment.metaValue
  • Comment.metaValues
  • PostTag.metaValue
  • PostTag.metaValues
  • PostCategory.metaValue
  • PostCategory.metaValues
  • GenericTag.metaValue
  • GenericTag.metaValues
  • GenericCategory.metaValue
  • GenericCategory.metaValues

또한 입력 필드 metaQuery를 사용하여 커스텀 포스트, 사용자, 댓글, 택소노미(태그 및 카테고리)의 결과를 메타를 기반으로 필터링할 수 있습니다.

쿼리 및 필터링 모두에서 메타 값은 공개 또는 비공개일 수 있습니다. 예를 들어, 사용자 메타에는 비공개인 wp_capabilities 항목이 포함되는 반면, description은 공개입니다. 그리고 last_name은 애플리케이션에 따라 공개 또는 비공개가 될 수 있습니다.

Gato GraphQL 플러그인은 어떤 메타 키가 공개이고 어떤 것이 비공개인지를 강제하지 않습니다. 이는 명시적으로 설정해야 합니다. 기본적으로 허용된 메타 키 목록은 비어 있습니다.

메타 값 응답

해당 설정 페이지에서 접근이 허용되지 않은 메타 키를 쿼리하면 쿼리는 오류를 반환합니다.

예를 들어, 다음 쿼리를 실행하면:

{
  post(by: { id: 1 }) {
    id
    metaValue(key: "nothingHere")
  }
}

다음이 반환됩니다:

{
  "errors": [
    {
      "message": "There is no meta with key 'nothingHere'",
      "extensions": {
        "type": "Post",
        "id": 1,
        "field": "metaValue(key:\"nothingHere\")"
      }
    }
  ],
  "data": {
    "post": {
      "id": 1,
      "metaValue": null
    }
  }
}

쿼리 대상 객체에 메타 키가 존재하지 않거나 그 값이 비어 있으면 응답은 null이 됩니다. 그렇지 않으면 응답은 메타 값입니다.

허용된 메타 키 설정

이것은 「Custom Post Meta」모듈에 대한 설명입니다. Users, Comments, Taxonomies 모듈에 대해서도 절차는 동일합니다.

메타 필드를 통해 쿼리할 수 있는 메타 키 목록을 설정해야 합니다.

각 항목은 다음 중 하나가 될 수 있습니다:

  • / 또는 #로 둘러싸인 경우 정규식(regex)
  • 그렇지 않은 경우 완전한 메타 키

예를 들어, 다음 항목들은 모두 메타 키 "_edit_last"와 일치합니다:

  • _edit_last
  • /_edit_.*/
  • #_edit_([a-zA-Z]*)#

이 설정을 할 수 있는 곳은 우선순위 순으로 2곳이 있습니다:

  1. 커스텀: 해당 스키마 설정 내
  2. 일반: 설정 페이지 내

엔드포인트에 적용된 스키마 설정에서 옵션 "Use custom configuration"을 선택하고 원하는 항목을 입력합니다:

스키마 설정에서 항목 정의

그렇지 않으면 설정의 「Schema Custom Post Meta」탭에서 정의된 항목이 사용됩니다:

설정에서 항목 정의
설정에서 항목 정의

「Allow access」와 「Deny access」의 두 가지 동작이 있습니다:

  • Allow access: 설정된 항목에만 접근할 수 있으며, 다른 항목에는 접근할 수 없습니다
  • Deny access: 설정된 항목에는 접근할 수 없으며, 다른 모든 항목에는 접근할 수 있습니다
접근 동작 정의
접근 동작 정의