WordPress 데이터 쿼리
WordPress 데이터 쿼리커스텀 태그

커스텀 태그

가이드 Working with Custom Tags 에서 자세한 내용을 확인하세요.

다음은 커스텀 태그 택소노미 데이터를 가져오는 쿼리 예제입니다.

스키마에 매핑되지 않은 택소노미

택소노미 "product-tag" 의 태그를 가져옵니다:

query {
  tags(taxonomy: "product-tag") {
    __typename
 
    ...on Tag {
      count
      description
      id
      name
      slug
      url
    }
    
    ...on GenericTag {
      taxonomy   
      customPostCount
      customPosts {
        __typename
        ...on CustomPost {
          id
          title
        }
      }
    }
  }
}

커스텀 포스트에 연결된 태그 가져오기

GenericCustomPost 타입에는 tags 필드가 있어, 커스텀 포스트에 추가된 커스텀 태그를 가져올 수 있습니다:

query {
  customPosts(
    filter: { customPostTypes: "product" }
  ) {
    __typename
 
    ... on GenericCustomPost {
      tags(taxonomy: "product-tag") {
        __typename
        id
        name
        taxonomy
      }
    }
  }
}

태그로 커스텀 포스트 필터링

지정된 태그를 가진 커스텀 포스트를 가져오려면 입력 filter.tags 를 사용할 수 있습니다:

query {
  customPostsByTagIDs: customPosts(
    filter: {
      tags: {
        includeBy: {
          ids: [26, 28],
        }
        taxonomy: "product-tag"
      }
    }
  ) {
    id
    title
  }
 
  customPostsByTagSlugs: customPosts(
    filter: {
      tags: {
        includeBy: {
          slugs: ["tango", "rock"]
        }
        taxonomy: "product-tag"
      }
    }
  ) {
    id
    title
  }
}

커스텀 포스트에 태그 설정

뮤테이션:

mutation {
  setTagsOnCustomPost(
    input: {
      id: 1499, 
      tags: ["api", "development"]
      taxonomy: "tag-taxonomy"
    }
  ) {
    status
    errors {
      __typename
      ... on ErrorPayload {
        message
      }
    }
    customPostID
    customPost {
      tags(taxonomy: "tag-taxonomy") {
        id
      }
      tagNames(taxonomy: "tag-taxonomy")
    }
  }
}

중첩 뮤테이션:

mutation {
  customPost(by: { id: 1499 }) {
    setTags(
      input: {
        tags: ["api", "development"]
        taxonomy: "tag-taxonomy"
      }
    ) {
      status
      errors {
        __typename
        ... on ErrorPayload {
          message
        }
      }
      customPostID
      customPost {
        tags(taxonomy: "tag-taxonomy") {
          id
        }
        tagNames(taxonomy: "tag-taxonomy")
      }
    }
  }
}

커스텀 태그 생성, 업데이트 및 삭제

이 쿼리는 커스텀 some-tag-taxonomy 태그의 태그 텀을 생성, 업데이트 및 삭제합니다:

mutation CreateUpdateDeleteTags {
  createTag(input: {
    taxonomy: "some-tag-taxonomy",
    name: "Some name"
    slug: "Some slug"
    description: "Some description"
  }) {
    status
    errors {
      __typename
      ...on ErrorPayload {
        message
      }
    }
    category {
      ...TagData
    }
  }
 
  updateTag(input: {
    id: 1
    taxonomy: "some-tag-taxonomy"
    name: "Some updated name"
    slug: "Some updated slug"
    description: "Some updated description"
  }) {
    status
    errors {
      __typename
      ...on ErrorPayload {
        message
      }
    }
    category {
      ...TagData
    }
  }
 
  deleteTag(input: {
    id: 1
    taxonomy: "some-tag-taxonomy"
  }) {
    status
    errors {
      __typename
      ...on ErrorPayload {
        message
      }
    }
  }
}
 
fragment TagData on Tag {
  id
  name
  slug
  description
}