āļšāļĨāđ‡āļ­āļ

ðŸ˜ē 15 āļŠāļīāđˆāļ‡āļ—āļĩāđˆāļ„āļļāļ“āđ„āļĄāđˆāļĢāļđāđ‰āļ§āđˆāļēāļŠāļēāļĄāļēāļĢāļ–āļ—āļģāđ„āļ”āđ‰āļ”āđ‰āļ§āļĒ GraphQL āđƒāļ™ WordPress

Leonardo Losoviz
āđ‚āļ”āļĒ Leonardo Losoviz ·

āļ‰āļąāļ™āđ„āļ”āđ‰āļĢāļąāļšāđ€āļŠāļīāļāđƒāļŦāđ‰āļ™āļģāđ€āļŠāļ™āļ­ Gato GraphQL āđƒāļ™ WordCamp Malaysia 2023 āđ€āļĄāļ·āđˆāļ­āđ€āļ”āļ·āļ­āļ™āļāļąāļ™āļĒāļēāļĒāļ™āļ—āļĩāđˆāļœāđˆāļēāļ™āļĄāļē āđāļĨāļ°āļ§āļīāļ”āļĩāđ‚āļ­āļ‚āļ­āļ‡āļāļēāļĢāļšāļĢāļĢāļĒāļēāļĒāļ™āļąāđ‰āļ™āđ€āļœāļĒāđāļžāļĢāđˆāđāļĨāđ‰āļ§:

15 things (you didn't know) you can do with GraphQL in WordPress

āļ™āļĩāđˆāļ„āļ·āļ­āļ§āļīāļ”āļĩāđ‚āļ­:

āđ„āļ—āļĄāđŒāļŠāđāļ•āļĄāļ›āđŒ:

[00:00] āļšāļ—āļ™āļģ

[00:49] āļŠāļīāđˆāļ‡āļ—āļĩāđˆāđ€āļĢāļēāļĄāļąāļāļĢāļđāđ‰āđ€āļāļĩāđˆāļĒāļ§āļāļąāļšāļāļēāļĢāđƒāļŠāđ‰ GraphQL āđƒāļ™ WordPress

[02:43] āļāļēāļĢāļŠāļģāļĢāļ§āļˆ Gato GraphQL āđƒāļ™ wp-admin:

  • [02:53] Private GraphiQL client
  • [04:00] Private Interactive schema client
  • [04:36] Public GraphiQL client
  • [05:39] Public Interactive schema client
  • [06:19] Custom endpoints
  • [06:52] Persisted queries

[08:14] 15 āļŠāļīāđˆāļ‡āļ—āļĩāđˆāļŠāļēāļĄāļēāļĢāļ–āļ—āļģāđ„āļ”āđ‰āļ”āđ‰āļ§āļĒ Gato GraphQL āđƒāļ™ WordPress:

  • [08:51] āđāļ™āļ°āļ™āļģāļŠāđˆāļ§āļ™ Recipes
  • [09:29] (#1) āļ„āđ‰āļ™āļŦāļēāļ‚āđ‰āļ­āļĄāļđāļĨ WP (āđ€āļŠāđˆāļ™: āļ„āđ‰āļ™āļŦāļēāđ‚āļžāļŠāļ•āđŒāļŦāļĢāļ·āļ­āļœāļđāđ‰āđƒāļŠāđ‰āļ•āļēāļĄ metadata)
  • [12:40] (#2) āđ€āļŠāļĢāļīāļĄ WP-CLI (āđ€āļŠāđˆāļ™: āđ€āļĨāļ·āļ­āļāļ—āļĢāļąāļžāļĒāļēāļāļĢāļ—āļĩāđˆāļˆāļ°āđƒāļŠāđ‰āļ„āļģāļŠāļąāđˆāļ‡)
  • [14:10] (#3) āļŠāđˆāļ‡āļ­āļĩāđ€āļĄāļĨāļŠāđˆāļ§āļ™āļ•āļąāļ§
  • [16:18] (#4) āļ”āļķāļ‡āļ‚āđ‰āļ­āļĄāļđāļĨāļŠāļģāļŦāļĢāļąāļšāļšāļĨāđ‡āļ­āļāļŠāļģāļŦāļĢāļąāļšāļ—āļąāđ‰āļ‡ CSR āđāļĨāļ° SSR (āđ‚āļ”āļĒāđƒāļŠāđ‰āļĨāļ­āļˆāļīāļ DRY!) [āļ‚āđ‰āļēāļĄ demo]
  • [16:40] (#5) āđāļĄāļ› JavaScript components āļāļąāļšāļšāļĨāđ‡āļ­āļ [āļ‚āđ‰āļēāļĄ demo]
  • [16:49] (#6) āļ—āļģāļŠāļģāđ€āļ™āļēāđ‚āļžāļŠāļ•āđŒāļšāļĨāđ‡āļ­āļ
  • [18:22] (#7) āļ›āļĢāļąāļšāđāļ•āđˆāļ‡āđ€āļ™āļ·āđ‰āļ­āļŦāļēāļŠāļģāļŦāļĢāļąāļšāļœāļđāđ‰āđƒāļŠāđ‰āļ—āļĩāđˆāđāļ•āļāļ•āđˆāļēāļ‡āļāļąāļ™ [āļ‚āđ‰āļēāļĄ demo]
  • [18:28] (#8) āļ›āļĢāļąāļšāđ€āļ™āļ·āđ‰āļ­āļŦāļēāļˆāļģāļ™āļ§āļ™āļĄāļēāļ (āđ€āļŠāđˆāļ™: āđāļ—āļ™āļ—āļĩāđˆāļŠāļ•āļĢāļīāļ‡āđƒāļ™āđ‚āļžāļŠāļ•āđŒāļ—āļąāđ‰āļ‡āļŦāļĄāļ” āđ€āļŠāđˆāļ™ āđ€āļĄāļ·āđˆāļ­āļĒāđ‰āļēāļĒāđ‚āļ”āđ€āļĄāļ™āļ‚āļ­āļ‡āđ„āļ‹āļ•āđŒ)
  • [20:14] (#9) āļ—āļģāļ‡āļēāļ™āļ”āđ‰āļēāļ™āļāļēāļĢāļ”āļđāđāļĨāļĢāļ°āļšāļšāđ‚āļ”āļĒāļ­āļąāļ•āđ‚āļ™āļĄāļąāļ•āļī (āđ€āļŠāđˆāļ™: āđāļ—āļĢāļāļšāļĨāđ‡āļ­āļāļ—āļĩāđˆāļˆāļģāđ€āļ›āđ‡āļ™āđ€āļĄāļ·āđˆāļ­āđ„āļĄāđˆāļĄāļĩ) [āļ‚āđ‰āļēāļĄ demo]
  • [20:53] (#10) āđ€āļžāļīāđˆāļĄāļšāļĨāđ‡āļ­āļ CTA āđāļšāļšāļāļģāļŦāļ™āļ”āđ€āļ­āļ‡āļāđˆāļ­āļ™āđāļ„āļĄāđ€āļ›āļāđƒāļ™āđ‚āļžāļŠāļ•āđŒāļ—āļąāđ‰āļ‡āļŦāļĄāļ” āđāļĨāļ°āļĨāļšāļ­āļ­āļāļ āļēāļĒāļŦāļĨāļąāļ‡ [āļ‚āđ‰āļēāļĄ demo]
  • [20:56] (#11) āđāļ›āļĨāđ‚āļžāļŠāļ•āđŒāļšāļĨāđ‡āļ­āļ (āđƒāļ™āļĢāļ°āļ”āļąāļš block-property!)
  • [23:13] (#12) āļŠāđˆāļ‡āļāļēāļĢāđāļˆāđ‰āļ‡āđ€āļ•āļ·āļ­āļ™āđ€āļĄāļ·āđˆāļ­āļĄāļĩāđ‚āļžāļŠāļ•āđŒāđƒāļŦāļĄāđˆ āđāļĨāļ°āļŠāđˆāļ‡āļŠāļĢāļļāļ›āļāļīāļˆāļāļĢāļĢāļĄāļ›āļĢāļ°āļˆāļģāļ§āļąāļ™āđ„āļ›āļĒāļąāļ‡āļ­āļĩāđ€āļĄāļĨāļ‚āļ­āļ‡āļ„āļļāļ“ [āļ‚āđ‰āļēāļĄ demo]
  • [23:17] (#13) āļĢāļ§āļĄāļ‚āđ‰āļ­āļĄāļđāļĨāļˆāļēāļāļœāļđāđ‰āļ•āļīāļ”āļ•āļēāļĄ Mailchimp āđāļĨāļ°āļœāļđāđ‰āđƒāļŠāđ‰āđ€āļ§āđ‡āļšāđ„āļ‹āļ•āđŒ [āļ‚āđ‰āļēāļĄ demo]
  • [23:24] (#14) āļ™āļģāđ€āļ‚āđ‰āļēāđ‚āļžāļŠāļ•āđŒāļˆāļēāļāđ„āļ‹āļ•āđŒ WordPress āļ­āļ·āđˆāļ™ [āļ‚āđ‰āļēāļĄ demo]
  • [23:26] (#15) āđāļˆāļāļˆāđˆāļēāļĒāđ€āļ™āļ·āđ‰āļ­āļŦāļēāđ„āļ›āļĒāļąāļ‡āđ„āļ‹āļ•āđŒāļ›āļĨāļēāļĒāļ—āļēāļ‡āļŦāļĨāļēāļĒāđāļŦāđˆāļ‡ (āđ€āļŠāđˆāļ™: āļ‹āļīāļ‡āļ„āđŒāļ‚āđ‰āļ­āļĄāļđāļĨāļ āļēāļĒāđƒāļ™ multisite) [āļ‚āđ‰āļēāļĄ demo]

[23:34] āļšāļ—āļŠāļĢāļļāļ›

[23:53] Q&A:

  • [23:54] "āļ­āļ°āđ„āļĢāđ€āļ›āđ‡āļ™āđāļĢāļ‡āļšāļąāļ™āļ”āļēāļĨāđƒāļˆāđƒāļŦāđ‰āļ„āļļāļ“āļŠāļĢāđ‰āļēāļ‡āļ›āļĨāļąāđŠāļāļ­āļīāļ™āļ™āļĩāđ‰? āļĄāļĩāļ›āļąāļāļŦāļēāļ­āļ°āđ„āļĢāļ—āļĩāđˆāļ„āļļāļ“āđ€āļˆāļ­āđƒāļ™āļāļēāļ™āļ°āļ™āļąāļāļžāļąāļ’āļ™āļē āļˆāļķāļ‡āļ•āļąāļ”āļŠāļīāļ™āđƒāļˆāļŠāļĢāđ‰āļēāļ‡āļ›āļĨāļąāđŠāļāļ­āļīāļ™āļ™āļĩāđ‰?"
  • [25:13] "āļŠāļēāļĄāļēāļĢāļ–āļ—āļģāđ„āļ”āđ‰āļ”āđ‰āļ§āļĒ REST API āđ„āļŦāļĄ? āđ€āļŠāđˆāļ™ Gato REST API?"
  • [25:52] "āļŠāđˆāļ§āļ™āļ—āļĩāđˆāđ€āļ›āđ‡āļ™āļ•āļēāļĢāļēāļ‡āļ—āļĩāđˆāļĄāļĩāļ„āļ§āļēāļĄāļŠāļąāļĄāļžāļąāļ™āļ˜āđŒ [GraphQL schema] āļ™āļąāđ‰āļ™āđ€āļāļĩāđˆāļĒāļ§āļāļąāļšāļ­āļ°āđ„āļĢ?"
  • [27:58] "[āđ€āļāļĩāđˆāļĒāļ§āļāļąāļš GraphQL schema] āđ€āļ›āđ‡āļ™āđāļšāļšāļ­āļąāļ•āđ‚āļ™āļĄāļąāļ•āļīāļŦāļĢāļ·āļ­āļ•āđ‰āļ­āļ‡āļ—āļģāļāļēāļĢāđāļĄāļ›āļ”āđ‰āļ§āļĒāļ•āļ™āđ€āļ­āļ‡?"
  • [29:47] "āļŠāļēāļĄāļēāļĢāļ–āđƒāļŠāđ‰āđ€āļžāļ·āđˆāļ­āļ‚āļąāļšāđ€āļ„āļĨāļ·āđˆāļ­āļ™ AI assistant āđ„āļ”āđ‰āđ„āļŦāļĄ? (āđƒāļŠāđ‰ GraphQL āđāļ—āļ™ REST API)"

āļ™āļĩāđˆāļ„āļ·āļ­āļŠāđ„āļĨāļ”āđŒ:

āļ‚āļ­āđƒāļŦāđ‰āđ€āļžāļĨāļīāļ”āđ€āļžāļĨāļīāļ™!


āļŠāļĄāļąāļ„āļĢāļĢāļąāļšāļˆāļ”āļŦāļĄāļēāļĒāļ‚āđˆāļēāļ§āļ‚āļ­āļ‡āđ€āļĢāļē

āļ•āļīāļ”āļ•āļēāļĄāļāļēāļĢāļ­āļąāļ›āđ€āļ”āļ•āļ—āļąāđ‰āļ‡āļŦāļĄāļ”āļ‚āļ­āļ‡ Gato GraphQL