บทช่วยสอน
บทช่วยสอนค้นหาโพสต์ที่มีบล็อกที่ต้องการ

ค้นหาโพสต์ที่มีบล็อกที่ต้องการ

บางครั้งคุณอาจพบบล็อก Gutenberg ที่ปลั๊กอินไม่สามารถแปลได้ (ดู สามารถแปลบล็อก Gutenberg ทั้งหมดได้หรือไม่?) ในกรณีเช่นนี้ คุณจะต้องระบุโพสต์ทั้งหมดที่มีบล็อกนั้น เพื่อที่จะสามารถย้ายไปใช้บล็อกอื่นที่แปลได้แทน

เนื่องจาก Gato AI Translations for Polylang ทำงานโดยใช้ Gato GraphQL ภายใต้ฝากระโปรง คุณจึงสามารถรัน GraphQL queries เพื่อค้นหาเนื้อหาได้อย่างสะดวก

ในการรัน GraphQL queries คุณต้องเปิดใช้งาน Advanced Mode ก่อนและเข้าถึง Queries CPT ดูคำแนะนำในการเปิดใช้งาน Advanced Mode ได้ที่ การสร้าง Helper Queries

การสร้าง GraphQL query

ไปที่ Queries ในเมนูผู้ดูแลระบบ WordPress และเพิ่มรายการใหม่ ตั้งชื่อที่อธิบายได้ชัดเจน เช่น "Find posts containing a certain block"

จากนั้นวาง GraphQL query ต่อไปนี้:

query FindPostsContainingBlock(
  $blockName: String!
) {
  customPostCount(
    filter: {
      status: any,
      search: $blockName
    }
  )
  customPosts(
    filter: {
      status: any,
      search: $blockName
    },
    pagination: { limit: -1 }
  ) {
    id
    title
    customPostType
    url
    wpAdminEditURL
  }
}

การตั้งค่า GraphQL variables

ก่อนรัน query คุณต้องระบุตัวแปร blockName ชื่อบล็อกใช้รูปแบบ namespace/block-name

ตัวอย่างเช่น หากต้องการค้นหาโพสต์ที่มีบล็อก Yoast FAQ ให้ตั้งค่า GraphQL variables เป็น:

{
  "blockName": "yoast/faq-block"
}

เพื่อหาชื่อบล็อกที่ถูกต้อง คุณสามารถตรวจสอบบล็อกในตัวแก้ไข Gutenberg หรือดูเอกสารประกอบของบล็อกนั้น

การรัน query

หลังจากตั้งค่า GraphQL variables แล้ว ให้รัน query ผลลัพธ์ที่ได้จะประกอบด้วย:

  • customPostCount: จำนวนโพสต์ทั้งหมดที่มีบล็อกนั้น
  • customPosts: อาร์เรย์ของโพสต์ที่ตรงกันทั้งหมดพร้อมรายละเอียด
การรัน GraphQL query
การรัน GraphQL query

ตัวอย่างผลลัพธ์

{
  "data": {
    "customPostCount": 6,
    "customPosts": [
      {
        "id": 38602,
        "title": "BTS B",
        "customPostType": "page",
        "url": "https://www.mysite.com/bts-dietetique-b/",
        "wpAdminEditURL": "https://www.mysite.com/wp-admin/post.php?post=38602&action=edit"
      },
      {
        "id": 38024,
        "title": "Merci",
        "customPostType": "page",
        "url": "https://www.mysite.com/merci/",
        "wpAdminEditURL": "https://www.mysite.com/wp-admin/post.php?post=38024&action=edit"
      },
      {
        "id": 38633,
        "title": "BTS A",
        "customPostType": "page",
        "url": "https://www.mysite.com/bts-dietetique-a/",
        "wpAdminEditURL": "https://www.mysite.com/wp-admin/post.php?post=38633&action=edit"
      },
      {
        "id": 34871,
        "title": "Collagène marin B",
        "customPostType": "page",
        "url": "https://www.mysite.com/meilleurs-collagenes-marin/",
        "wpAdminEditURL": "https://www.mysite.com/wp-admin/post.php?post=34871&action=edit"
      },
      {
        "id": 34853,
        "title": "Collagène marin A",
        "customPostType": "page",
        "url": "https://www.mysite.com/meilleur-collagene-marin/",
        "wpAdminEditURL": "https://www.mysite.com/wp-admin/post.php?post=34853&action=edit"
      },
      {
        "id": 33987,
        "title": "Meilleur collagène en 2025 : l’avis d’un médecin (15 marques)",
        "customPostType": "page",
        "url": "https://www.mysite.com/meilleur-collagene/",
        "wpAdminEditURL": "https://www.mysite.com/wp-admin/post.php?post=33987&action=edit"
      }
    ]
  }
}

คลิกลิงก์ wpAdminEditURL ใดก็ได้เพื่อเปิดโพสต์นั้นในตัวแก้ไข WordPress โดยตรง จากนั้นไปยังแต่ละโพสต์และแทนที่บล็อกที่มีปัญหาด้วยบล็อกที่แปลได้แทน