Blog

๐Ÿš€ Otomatiskan tugas WordPress Anda dengan Gato GraphQL v2.1 yang baru

Leonardo Losoviz
Oleh Leonardo Losoviz ยท

Kami dengan senang hati mengumumkan bahwa Gato GraphQL v2.1 kini telah dirilis!

Dengan versi baru ini dan ekstensi PRO, Anda dapat menggunakan GraphQL sebagai Automator, memanfaatkan GraphQL persisted queries untuk mengotomatiskan tugas-tugas terkait data di situs WordPress Anda.

Berikut adalah semua perubahan yang ditambahkan pada v2.1 (versi yang lebih singkat tersedia di Catatan Rilis di GitHub).

Dukungan untuk menyediakan Konfigurasi Skema saat memanggil Internal GraphQL Server

Kini kita dapat menentukan Konfigurasi Skema apa yang diterapkan saat menjalankan query melalui internal GraphQL Server (yaitu langsung di dalam aplikasi PHP, bukan melalui endpoint).

Fitur baru ini meningkatkan ekstensi Internal GraphQL Server: Kini ekstensi ini menerima parameter $schemaConfigurationIDOrSlug pada metode executeQuery dan executeQueryInFile dari kelas GraphQLServer, dan sudah mengekstrak konfigurasi skema yang digunakan oleh persisted query pada 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 sebagai Automator [PRO]

Fitur di atas juga menjadi fondasi untuk meningkatkan ekstensi Automation.

Ekstensi Automation kini menyediakan antarmuka pengguna "automator" (langsung melalui editor WordPress) yang disebut Automation Configurator. Pemicu otomatisasi adalah action hook WordPress apa pun, dan aksinya adalah eksekusi GraphQL persisted query.

Editor Aturan Otomatisasi
Editor Aturan Otomatisasi

Misalnya, saat membuat posting baru, aturan otomatisasi Add comments block to new post (menjalankan persisted query dengan nama yang sama) memeriksa apakah blok core/comments sudah ada dan, jika belum, menambahkannya di bagian bawah posting:

Secara otomatis menyisipkan blok komentar ke posting 'draft' baru
Secara otomatis menyisipkan blok komentar ke posting 'draft' baru

Berikut adalah beberapa cara Anda dapat menggunakan automator:

  • Membuat (dan mengoptimalkan) gambar unggulan untuk posting baru menggunakan AI
  • Menambahkan blok wajib ke posting saat diterbitkan
  • Mengganti http dengan https di semua sumber gambar dan tautan saat posting diperbarui
  • Mengirim email ke admin ketika ada posting baru
  • Mengirim email ke pengguna yang komentarnya mendapat balasan baru
  • [Multisite] Menerjemahkan posting baru ke berbagai bahasa, dan menambahkan posting yang diterjemahkan ke setiap situs
  • Menjalankan aksi pada layanan eksternal (misalnya: secara otomatis membagikan posting baru di Facebook)

Karena Anda dapat menyusun GraphQL persisted queries dan aturan otomatisasi langsung di dalam wp-admin, Anda dapat membuat pipeline otomatisasi yang sangat tersesuaikan dalam waktu singkat, disesuaikan dengan kebutuhan Anda.

Dan karena tidak ada batasan pada input (GraphQL query dapat berinteraksi dengan semua data di WordPress, dan terhubung ke layanan eksternal apa pun melalui klien HTTP), Anda seharusnya dapat memenuhi 100% kebutuhan Anda.

(Plugin automator biasanya memenuhi 95% kebutuhan kita, karena seringkali kita menemukan bahwa beberapa input yang kita butuhkan belum dipetakan.)

Beberapa aturan otomatisasi sudah dibuat oleh plugin (dengan status draft, sehingga harus diubah ke publish agar berlaku). Anda sudah dapat menggunakannya, dan juga memeriksanya sebagai contoh untuk membuat otomatisasi Anda sendiri (daftar ini akan diperluas pada rilis berikutnya):

  • 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
Aturan Otomatisasi
Aturan Otomatisasi

Persisted query bawaan "Insert block in post"

GraphQL persisted query yang baru ditambahkan "Insert block in post" memungkinkan penyisipan blok ke dalam sebuah posting. Query ini mengidentifikasi blok ke-n dari tipe tertentu (wp:paragraph secara default) dalam sebuah posting, dan menempatkan konten HTML blok kustom yang disediakan tepat setelahnya.

Digunakan bersama ekstensi Automation, persisted query ini dapat digunakan untuk secara otomatis menyisipkan blok wajib ke posting yang baru diterbitkan (misalnya: blok CTA untuk mempromosikan kampanye yang sedang berjalan).

Peningkatan

  • Jika inisialisasi service container dari cache gagal, gunakan fallback untuk menginisialisasi objek PHP dari memori (#2638)
  • Berikan operationName unik untuk semua predefined persisted queries (#2644)
  • Pesan kesalahan yang lebih baik saat mengambil blok dari posting dan konten blok memiliki kesalahan
  • Dokumentasi untuk ekstensi Automation telah dilengkapi (#2651)
  • Pada predefined persisted query "Generate a post's featured image using AI and optimize it", jalankan logika hanya jika judul posting tidak kosong (#ec931dd)

Diperbaiki

  • Bug pada komponen JS multi-control yang digunakan oleh ekstensi (Access Control, Cache Control, dan Field Deprecation) yang menampilkan "undefined" pada blok di Konfigurasi Skema (#2639)
  • Bug pada penggantian regex di predefined persisted queries (#2649)
  • Hindari penginstalan ulang data pengaturan plugin saat menonaktifkan/mengaktifkan kembali plugin (#2641)
  • Tangani kesalahan saat meneruskan WP_Post sebagai variabel GraphQL ke Internal GraphQL Server (#2652)

Berlangganan newsletter kami

Tetap update dengan semua pembaruan Gato GraphQL.