블로그

⭐️ 커스텀 게시물에 태그·카테고리를 할당하는 새로운 mutation을 탑재한 v5.0 릴리스 및 다양한 개선

Leonardo Losoviz
작성자: Leonardo Losoviz ·

Gato GraphQL v5.0이 릴리스되었습니다. 변경 사항의 전체 목록은 GitHub 릴리스 노트를 참조하시기 바랍니다.

이 버전부터 WordPress 최소 버전이 v6.1로 상향 조정되었습니다.

아래에 가장 중요한 업데이트 내용을 설명합니다.

파괴적 변경

  • WordPress 최소 버전을 6.1로 상향 조정했습니다.

빈 배열로 데이터를 필터링할 때 결과를 반환하지 않음

다음 GraphQL 쿼리는 ID로 게시물을 필터링합니다:

query FilterPostsByIDs(
  $ids: [ID!]
) {
  posts(filter: { ids: $ids }) {
    title
  }
}

이전에는 변수 $ids에 빈 배열을 전달하면:

{
  "ids": []
}

...filter.ids 입력이 무시되어 필드가 모든 결과를 반환했습니다.

이제 빈 배열을 전달하면 "결과를 가져오지 않음"을 의미합니다.

필터 입력을 무시하려면 대신 null을 전달하시기 바랍니다.

filter.ids 입력을 허용하는 모든 필드에 동일한 동작이 적용됩니다:

  • categories
  • comments
  • customPosts
  • tags
  • users

개선 사항

  • 필드 isGutenbergEditorEnabled 추가
  • 게시물 태그·카테고리의 mutation에서 추가 택소노미 지원 (post_tagcategory에만 국한되지 않음)
  • PostTagPostCategory 타입에도 taxonomy 필드 추가
  • GenericCustomPostfeaturedImage 필드 추가

커스텀 게시물에 커스텀 태그·카테고리를 할당하는 mutation 추가

이제 커스텀 게시물에 태그와 카테고리를 할당하는 mutation을 실행할 수 있습니다:

mutation SetTagsAndCategoriesOnCustomPost(
  $customPostId: ID!
  $tagIDs: [ID!]!
  $categoryIDs: [ID!]!
  $append: Boolean
) {
  setTagsOnCustomPost(input: {
    id: $customPostId
    tagsBy: {
      ids: $tagIDs
    }
    taxonomy: "some-tag-taxonomy"
    append: $append
  }) {
    status
    errors {
      __typename
      ...on ErrorPayload {
        message
      }
    }
    customPost {
      tags(taxonomy: "some-tag-taxonomy") {
        id
      }
      tagNames(taxonomy: "some-tag-taxonomy")
    }
  }
 
  setCategoriesOnCustomPost(input: {
    id: $customPostId
    categoriesBy: {
      ids: $categoryIDs
    }
    taxonomy: "some-category-taxonomy"
    append: $append
  }) {
    status
    errors {
      __typename
      ...on ErrorPayload {
        message
      }
    }
    customPost {
      categories(taxonomy: "some-category-taxonomy") {
        id
      }
      categoryNames(taxonomy: "some-category-taxonomy")
    }
  }
}

로그 활성화·비활성화를 위한 설정 옵션 추가

특정 항목(예: PRO에서 자동화 실행 시)의 전체 GraphQL 응답을 wp-content/gatographql/logs/info.log 파일에 기록할 수 있게 되었습니다.

Settings > Plugin Configuration > General에 새로운 옵션 Enable Logs? 가 추가되어 이러한 로그 출력을 활성화할 수 있습니다(기본값은 false입니다):

설정의 「Enable Logs?」옵션

Application password 인증 실패 시: GraphQL 응답에 오류 표시

Application passwords를 사용하여 GraphQL 엔드포인트에 사용자 인증을 수행할 때 인증이 실패하면, 이제 오류 메시지가 GraphQL 응답에 표시됩니다:

{
  "errors": [
    {
      "message": "Application Password authentication error: The provided password is an invalid application password."
    }
  ],
  "data": {
    "me": null
  }
}

사전 정의된 persisted query 추가

여러 persisted query가 추가되었습니다:

  • [PRO] WordPress RSS 피드에서 게시물을 가져와 ChatGPT로 콘텐츠를 다시 작성
  • [PRO] WordPress RSS 피드에서 새 게시물 가져오기
  • [PRO] URL의 HTML을 WordPress의 새 게시물로 가져오기

버그 수정

  • 필드 blocks, blockDataItems, blockFlattenedDataItems에서 게시물에 콘텐츠가 없을 때 발생하는 오류를 방지

뉴스레터 구독하기

Gato GraphQL의 모든 업데이트를 놓치지 마세요.