ไลบรารี Queries
ไลบรารี Queriesแทนที่ slug ของโพสต์เก่าด้วย slug ของโพสต์ใหม่ในทุกโพสต์

แทนที่ slug ของโพสต์เก่าด้วย slug ของโพสต์ใหม่ในทุกโพสต์

หลังจากเปลี่ยน slug ของโพสต์แล้ว ให้รัน query นี้เพื่อแปลงเนื้อหาทั้งหมดให้ชี้ไปยัง URL ใหม่

query นี้ต้องการให้ endpoint เปิดใช้งาน Nested Mutations

query ExportData(
  $oldPostSlug: String!
  $newPostSlug: String!
) {
  siteURL: optionValue(name: "siteurl")
 
  oldPostURL: _strAppend(
    after: $__siteURL,
    append: $oldPostSlug
  ) @export(as: "oldPostURL")
 
  newPostURL: _strAppend(
    after: $__siteURL,
    append: $newPostSlug
  ) @export(as: "newPostURL")
}
 
mutation ReplaceOldWithNewSlugInPosts
  @depends(on: "ExportData")
{
  posts(
    filter: {
      search: $oldPostURL
    },
    pagination: {
      limit: -1
    }
  ) {
    id
    rawContent
    adaptedRawContent: _strReplace(
      search: $oldPostURL
      replaceWith: $newPostURL
      in: $__rawContent
    )
    update(input: {
      contentAs: { html: $__adaptedRawContent }
    }) {
      status
      errors {
        __typename
        ...on ErrorPayload {
          message
        }
      }
      post {
        id
        rawContent
      }
    }
  }
}