메타 값의 허용/거부 목록 정의
해당 타입에서 metaValue(단일 값)및 metaValues(값의 배열)필드를 쿼리하여 커스텀 포스트, 사용자, 댓글, 택소노미(태그 및 카테고리)의 메타 값을 가져올 수 있습니다.
Post.metaValuePost.metaValuesGenericCustomPost.metaValueGenericCustomPost.metaValuesUser.metaValueUser.metaValuesComment.metaValueComment.metaValuesPostTag.metaValuePostTag.metaValuesPostCategory.metaValuePostCategory.metaValuesGenericTag.metaValueGenericTag.metaValuesGenericCategory.metaValueGenericCategory.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곳이 있습니다:
- 커스텀: 해당 스키마 설정 내
- 일반: 설정 페이지 내
엔드포인트에 적용된 스키마 설정에서 옵션 "Use custom configuration"을 선택하고 원하는 항목을 입력합니다:

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

「Allow access」와 「Deny access」의 두 가지 동작이 있습니다:
- Allow access: 설정된 항목에만 접근할 수 있으며, 다른 항목에는 접근할 수 없습니다
- Deny access: 설정된 항목에는 접근할 수 없으며, 다른 모든 항목에는 접근할 수 있습니다
