บล็อก

🚀 ทำให้งาน WordPress ของคุณเป็นอัตโนมัติด้วย Gato GraphQL v2.1 ใหม่

Leonardo Losoviz
โดย Leonardo Losoviz ·

ยินดีประกาศว่า Gato GraphQL v2.1 ได้เปิดตัวแล้ว!

ด้วยเวอร์ชันใหม่นี้และส่วนขยาย PRO คุณสามารถทำ GraphQL as Automator ได้ โดยใช้ GraphQL persisted queries เพื่อทำให้งานที่เกี่ยวกับข้อมูลในเว็บไซต์ WordPress ของคุณเป็นอัตโนมัติ

ด้านล่างคือการเปลี่ยนแปลงทั้งหมดที่เพิ่มใน v2.1 (เวอร์ชันย่อมีอยู่ในRelease notes บน GitHub)

รองรับการระบุ Schema Configuration ที่จะใช้เมื่อเรียก Internal GraphQL Server

ขณะนี้สามารถระบุ Schema Configuration ที่จะใช้เมื่อรัน query ผ่าน internal GraphQL Server (เช่น โดยตรงภายในแอปพลิเคชัน PHP ไม่ผ่าน endpoint) ได้แล้ว

ฟีเจอร์ใหม่นี้ปรับปรุงส่วนขยาย Internal GraphQL Server: ขณะนี้รองรับพารามิเตอร์ $schemaConfigurationIDOrSlug บนเมธอด executeQuery และ executeQueryInFile จากคลาส GraphQLServer และดึง schema configuration ที่ persisted query ใช้จาก executePersistedQuery อยู่แล้ว:

class GraphQLServer {
  
  public static function executeQuery(
    string $query,
    array $variables = [],
    ?string $operationName = null,
+   // Accept parameter 
+   int|string|null $schemaConfigurationIDOrSlug = null,
  ): Response {
    // ...
  }
 
  public static function executeQueryInFile(
    string $file,
    array $variables = [],
    ?string $operationName = null,
+   // Accept parameter 
+   int|string|null $schemaConfigurationIDOrSlug = null,
  ): Response {
    // ...
  }
 
  public static function executePersistedQuery(
    WP_Post|string|int $persistedQuery,
    array $variables = [],
    ?string $operationName = null,
+   // Schema Configuration is taken directly from the Persisted Query
  ): Response {
    // ...
  }

GraphQL as Automator [PRO]

ฟีเจอร์ข้างต้นยังเป็นรากฐานสำหรับการอัปเกรดส่วนขยาย Automation อีกด้วย

ส่วนขยาย Automation ขณะนี้มีอินเทอร์เฟซผู้ใช้แบบ "automator" (เข้าถึงได้โดยตรงผ่าน WordPress editor) ที่เรียกว่า Automation Configurator ทริกเกอร์ของการทำงานอัตโนมัติคือ WordPress action hook ใดก็ได้ และ action คือการรัน GraphQL persisted query

ตัวแก้ไข Automation Rule
ตัวแก้ไข Automation Rule

ตัวอย่างเช่น เมื่อสร้างโพสต์ใหม่ automation rule Add comments block to new post (รันpersisted query ที่มีชื่อเดียวกัน) จะตรวจสอบว่ามีบล็อก core/comments อยู่หรือไม่ และถ้าไม่มีก็จะเพิ่มไว้ท้ายโพสต์:

การแทรก comments block ลงในโพสต์ 'draft' ใหม่โดยอัตโนมัติ
การแทรก comments block ลงในโพสต์ 'draft' ใหม่โดยอัตโนมัติ

นี่คือตัวอย่างบางส่วนของการใช้งาน automator:

  • สร้าง (และปรับแต่ง) รูปภาพเด่นสำหรับโพสต์ใหม่โดยใช้ AI
  • เพิ่มบล็อกที่จำเป็นลงในโพสต์เมื่อเผยแพร่
  • แทนที่ http ด้วย https ใน image source และลิงก์ทั้งหมดเมื่ออัปเดตโพสต์
  • ส่งอีเมลถึง admin เมื่อมีโพสต์ใหม่
  • ส่งอีเมลถึงผู้ใช้ที่มีการตอบกลับความคิดเห็นใหม่
  • [Multisite] แปลโพสต์ใหม่เป็นภาษาต่างๆ และเพิ่มโพสต์ที่แปลแล้วไปยังแต่ละเว็บไซต์
  • รัน action บนบริการภายนอก (เช่น แชร์โพสต์ใหม่บน Facebook โดยอัตโนมัติ)

เนื่องจากคุณสามารถสร้าง GraphQL persisted queries และ automation rules ได้โดยตรงภายใน wp-admin จึงใช้เวลาไม่นานในการสร้าง automation pipeline ที่ปรับแต่งได้อย่างสูง ตอบสนองความต้องการของคุณ

และเนื่องจากไม่มีข้อจำกัดในการรับข้อมูล (GraphQL query สามารถโต้ตอบกับข้อมูลทั้งหมดใน WordPress และเชื่อมต่อกับบริการภายนอกใดๆ ผ่าน HTTP client) คุณควรสามารถตอบสนองข้อกำหนด 100% ของคุณได้

(ปลั๊กอิน Automator มักตอบสนองความต้องการของเรา 95% เนื่องจากเรามักพบว่า input บางอย่างที่ต้องการยังไม่ได้ถูก map ไว้)

ปลั๊กอินมี automation rules หลายรายการที่สร้างไว้แล้ว (สถานะเป็น draft จึงต้องอัปเดตเป็น publish เพื่อให้มีผล) คุณสามารถใช้งานได้ทันที และยังดูเป็นตัวอย่างสำหรับสร้าง automation ของคุณเองได้ (รายการนี้จะขยายในการเปิดตัวครั้งต่อไป):

  • Add comments block to new post
  • Insert block in new post
  • Send notification email to admin when there is a new post
  • Generate a post's featured image using AI (and optimize it) if a new post has none
Automation Rules
Automation Rules

Predefined persisted query "Insert block in post"

Persisted GraphQL query ที่เพิ่มใหม่ "Insert block in post" ช่วยให้สามารถแทรกบล็อกลงในโพสต์ได้ โดยระบุบล็อกลำดับที่ n ของประเภทที่กำหนด (ค่าเริ่มต้นคือ wp:paragraph) ในโพสต์ และวางเนื้อหา HTML ของบล็อกที่กำหนดเองไว้ถัดจากบล็อกนั้น

เมื่อใช้ร่วมกับส่วนขยาย Automation persisted query นี้สามารถใช้แทรกบล็อกที่จำเป็นลงในโพสต์ที่เพิ่งเผยแพร่โดยอัตโนมัติ (เช่น CTA block เพื่อโปรโมตแคมเปญที่กำลังดำเนินอยู่)

การปรับปรุง

  • หาก service container ไม่สามารถ initialize จาก cache ได้ ให้ fallback ไปที่การ initialize PHP object จาก memory (#2638)
  • กำหนด operationName ที่ไม่ซ้ำกันให้กับ predefined persisted queries ทั้งหมด (#2644)
  • ปรับปรุงข้อความแสดงข้อผิดพลาดเมื่อดึงบล็อกจากโพสต์และเนื้อหาบล็อกมีข้อผิดพลาด
  • เอกสารสำหรับส่วนขยาย Automation เสร็จสมบูรณ์ (#2651)
  • สำหรับ predefined persisted query "Generate a post's featured image using AI and optimize it" ให้รัน logic เฉพาะเมื่อ post title ไม่ว่างเปล่า (#ec931dd)

แก้ไขบัก

  • บักใน multi-control JS component ที่ใช้โดยส่วนขยาย (Access Control, Cache Control และ Field Deprecation) ซึ่งแสดง "undefined" บนบล็อกใน Schema Configuration (#2639)
  • บักใน regex replacements ใน predefined persisted queries (#2649)
  • หลีกเลี่ยงการติดตั้งข้อมูล setup ของปลั๊กอินซ้ำเมื่อปิดใช้งาน/เปิดใช้งานปลั๊กอินอีกครั้ง (#2641)
  • จัดการข้อผิดพลาดจากการส่ง WP_Post เป็น GraphQL variable ไปยัง Internal GraphQL Server (#2652)

สมัครรับจดหมายข่าวของเรา

ติดตามการอัปเดตทั้งหมดของ Gato GraphQL