Panduan Memulai REST API WordPress dengan Cepat

 Panduan Memulai REST API WordPress dengan Cepat

Patrick Harvey

Web telah berkembang cukup pesat selama dekade terakhir, dan WordPress sedikit tertinggal. Semakin banyak aplikasi yang dibawa ke web dengan JavaScript, dan semakin banyak situs web dinamis yang dibangun dengan bahasa seperti Python dan Ruby.

Para pengembang WordPress inti, dan bahkan beberapa pengembang WordPress profesional, merasa bahwa ketergantungan WordPress yang besar pada PHP dan penggunaan JavaScript yang minim sudah terlalu ketinggalan zaman. Ini adalah sesuatu yang ingin dipecahkan oleh WordPress REST API.

Ini tidak berarti WordPress beralih dari PHP, tetapi ini berarti para pengembang harus mempertimbangkan untuk mempelajari JavaScript jika mereka ingin memanfaatkan apa yang ditawarkan API ini.

Apa yang dimaksud dengan API REST WordPress?

REST API bukanlah konsep baru. Faktanya, Roy Fielding mendefinisikan istilah "representational state transfer" pada tahun 2000 ketika ia menggunakannya untuk merancang HTTP 1.1 dan Uniform Resource Identifiers, yang lebih dikenal sebagai "URI".

Anda mungkin sudah mengetahui bahwa API adalah struktur aplikasi perangkat lunak yang berisi sekumpulan alat dan protokol yang dapat digunakan pengembang untuk membangun aplikasi tersebut. REST API mirip dengan itu, kecuali bahwa API ini melakukan permintaan dan menerima respons melalui protokol HTTP.

API biasa biasanya menggunakan PHP, Python, dan Ruby untuk membangun aplikasi. Anda dapat menggunakan bahasa lain, tetapi ketiga bahasa ini adalah yang paling populer. REST API, melalui penggunaan protokol HTTP, mempermudah penggunaan bahasa pemrograman lain, seperti JavaScript.

API REST WordPress

Saya telah menjelaskan bagaimana WordPress REST API lebih kepada memindahkan WordPress lebih dekat ke tempat web lainnya dan tidak terlalu jauh dari PHP. Ini adalah tentang mempermudah pengembang untuk menggunakan bahasa seperti JSON dan JavaScript sehingga WordPress dapat menjadi platform lengkap yang mampu digunakan untuk membangun lebih dari sekadar situs web dan blog tradisional.

Berikut penjelasan WordPress tentang cara memasukkan JSON ke dalam REST API WordPress:

WordPress REST API menyediakan titik akhir API untuk tipe data WordPress yang memungkinkan pengembang berinteraksi dengan situs dari jarak jauh dengan mengirim dan menerima objek JSON (JavaScript Object Notation). JSON adalah format data standar terbuka yang ringan dan mudah dibaca manusia, dan terlihat seperti objek dalam JavaScript; sesuai dengan namanya. Saat Anda mengirim konten atau membuat permintaan ke API, responsnya akanHal ini memungkinkan para pengembang untuk membuat, membaca, dan memperbarui konten WordPress dari JavaScript sisi klien atau dari aplikasi eksternal, bahkan yang ditulis dalam bahasa selain PHP.

Pada dasarnya dirancang untuk menjembatani kesenjangan antara PHP yang menjadi dasar WordPress core dan JavaScript yang digunakan banyak aplikasi web saat ini. Infrastruktur untuk REST API WordPress ditambahkan ke WordPress core pada versi 4.4 (nama kode "Clifford") di bulan Desember 2015. Anda memerlukan plugin untuk menggunakan REST API pada saat itu. Namun, API lainnya, tepatnya titik akhir konten, ditambahkan keWordPress core pada versi 4.7 (nama kode "Vaughan") pada bulan Desember 2016, meniadakan kebutuhan akan plugin WP REST API.

Cara kerja API REST WordPress

Untuk memahami cara kerja REST API WordPress, Anda perlu memahami cara kerja permintaan dan respons HTTP. Ketika Anda memasukkan URL di bilah alamat browser, itu adalah permintaan. Ketika server menampilkan situs web atau aplikasi untuk URL tersebut, itu adalah respons.

Anda akan melihat beberapa jenis permintaan atau "metode HTTP" yang berbeda saat Anda mulai menggunakan API REST WordPress. Berikut ini empat jenis metode HTTP utama yang digunakan web:

  • DAPATKAN - Digunakan untuk mengambil data dari server
  • POST - Digunakan untuk mengirim data ke server
  • PUT - Digunakan untuk mengubah atau memperbarui data di server
  • MENGHAPUS - Digunakan untuk menghapus data dari server

Dengan mengingat definisi sederhana tersebut, memasukkan URL pada browser adalah permintaan GET. Memasukkan informasi login Anda untuk sebuah situs web adalah permintaan POST. Mengubah kata sandi Anda saat ini dengan yang baru adalah permintaan PUT, sementara mengakhiri akun Anda adalah permintaan DELETE.

Istilah tambahan yang akan Anda perhatikan adalah "rute" dan "titik akhir." Rute biasanya adalah URL atau bagian dari URL yang Anda coba akses, sedangkan titik akhir biasanya adalah respons yang Anda terima dari server.

Ketika sumber eksternal mengirimkan permintaan HTTP ke server yang menghosting situs WordPress Anda, REST API mengekspos data Anda dengan cara yang aman dengan merespons permintaan tersebut dengan arsitektur umum dan seperangkat protokolnya sendiri.

Hal ini memungkinkan konten WordPress, seperti postingan, halaman, dan komentar, untuk diproses sebagai data mentah. Kita akan membahasnya sebentar lagi. Inti dari hal ini adalah untuk memungkinkan Anda membuat perubahan pada konten situs Anda tanpa harus mengakses area admin WordPress. Berikut ini adalah cara Anda dapat membuat perubahan pada situs Anda menggunakan JSON yang responsnya memberikan sejumlah cara berbeda kepada para pengembang untuk berinteraksidengan situs mereka.

Mari kita mengotori tangan kita untuk melihat bagaimana semua ini bekerja.

Menggunakan API REST WordPress

Kita akan membahas bagaimana cara sebenarnya menggunakan WordPress REST API, tetapi sayangnya, ada beberapa konsep utama yang perlu kita bahas terlebih dahulu agar semuanya masuk akal. Berikut ini adalah konsep-konsep utama yang membentuk API ini:

  • Rute & Titik Akhir
  • Permintaan
  • Tanggapan
  • Skema
  • Kelas Pengendali

Mari kita mulai.

Lihat juga: 13 Tips Pemasaran Media Sosial yang Cerdas Untuk Tahun 2023

Rute & Titik Akhir

Definisi teknis dari sebuah rute adalah URL yang dapat dipetakan melalui metode HTTP yang berbeda. Pemetaan antara rute dan metode HTTP disebut dengan "endpoint." Anda dapat mengakses API REST WordPress dan melihat rute dan endpoint mana yang tersedia untuk situs Anda dengan menambahkan rute "/wp-json/" di akhir URL Anda.

Anda dapat melihatnya di WordPress.org dengan mengunjungi //www.wordpress.org/wp-json/:

Instal ekstensi bernama JSON Viewer untuk Chrome (JSON viewer untuk Firefox tersedia di sini) untuk membersihkan kekacauan ini:

Jika Anda tidak menggunakan permalink yang cantik, gunakan "?rest_route=" alih-alih "wp-json". Apa pun itu, apa yang Anda lihat di sini adalah contoh rute dan titik akhir. "/wp-json/" dan "/?rest_route=/" merupakan rute. Rute ini memungkinkan Anda untuk mengakses API REST WordPress melalui metode GET HTTP. API REST WordPress yang ditampilkan pada Anda, atau datanya jika Anda menginginkannya, merupakan titik akhir yang dilayani melalui respons JSON.

Permintaan

API REST WordPress memproses permintaan dengan kelas bernama WP_REST_Request. Kelas ini merupakan kelas utama dalam infrastruktur API REST WordPress yang digunakan untuk menyimpan dan mengambil informasi untuk semua permintaan yang Anda buat.

Anda dapat mengirim permintaan dari jarak jauh menggunakan metode HTTP yang telah kita bahas atau Anda dapat membuatnya secara internal seperti yang biasa Anda lakukan melalui PHP.

Tanggapan

Respons diproses dengan kelas WP_REST_Response. Respons adalah data yang Anda terima dari permintaan, seperti yang dinyatakan sebelumnya. API menggunakan kelas ini untuk mengembalikan data yang dikirim dari titik akhir. Kelas ini juga dapat mengembalikan kesalahan.

Skema

Skema API mendefinisikan struktur data yang dapat digunakan oleh endpoint, dan berisi daftar properti yang dapat dikembalikan oleh API REST WordPress. Skema API juga berisi parameter yang dapat diterima oleh API dan memberikan keamanan dengan memvalidasi permintaan yang diterima API.

Kelas Pengendali

REST API WordPress mendaftarkan rute dan titik akhir, menangani permintaan, menggunakan Skema untuk menentukan data dan properti yang dapat digunakan, dan menghasilkan respons API di atas semua itu. API, dan Anda sebagai pengembang, membutuhkan cara untuk mengelola semua bagian yang bergerak ini. Itulah gunanya kelas kontroler. Kelas kontroler memungkinkan Anda untuk mengumpulkan semua elemen ini dan mengaturnya di satu tempat.

Menggunakan API REST WordPress untuk mengakses konten Anda melalui endpoint

Rute adalah URL yang Anda gunakan untuk mengakses titik akhir, dan titik akhir adalah respons yang Anda terima dari server. Jika Anda ingin mendapatkan postingan situs Anda melalui API REST WordPress, gunakan rute "/wp/v2/posts/". WordPress menjelaskan bahwa "/wp-json/" tidak disertakan dalam rute yang lebih panjang karena merupakan "jalur dasar untuk API itu sendiri." URL akhirnya adalah "example.com/wp-json/wp/v2/posts".

Jika Anda ingin mengakses postingan tertentu melalui API, cukup tambahkan ID postingan di akhir URL sehingga terlihat seperti ini: "example.com/wp-json/wp/v2/posts/123"

Jika Anda ingin mencari postingan yang menggunakan frasa atau kata kunci tertentu, gunakan rute ini: "/wp/v2/posts?=search[ masukkan kata kunci di sini ]" sehingga URL-nya terlihat seperti ini: "example.com/wp-json/wp/v2/posts?search[ masukkan kata kunci di sini ].

Jika Anda ingin mengakses profil pengguna tertentu melalui API, tambahkan "/users/" pada rute serta ID pengguna pengguna tersebut. URL-nya terlihat seperti ini: "example.com/wp-json/wp/v2/users/2". Demikian pula, jika Anda ingin mengakses pengguna situs, hilangkan ID-nya sehingga URL-nya terlihat seperti ini: "example.com/wp-json/wp/v2/users/".

Anda dapat melihat lebih banyak titik akhir di sini.

Memperluas API REST

Kita akan melewatkan beberapa langkah dan mempelajari cara menggunakan properti REST API untuk memperluasnya. Anda harus mempelajari hal-hal seperti parameter global, pagination, penautan dan penyematan, serta autentikasi sebelum melakukan ini, tetapi kita akan melewatinya untuk tujuan panduan memulai cepat ini.

Berikut adalah beberapa hal yang dapat Anda capai dengan memperluas REST API:

  • Menambahkan Titik Akhir Khusus
  • Membuat Rute untuk Jenis Postingan Khusus dan Taksonomi Khusus
  • Memodifikasi Tanggapan

Jika Anda adalah pengembang berpengalaman, Anda mungkin sudah terbiasa dengan konsep yang diperlukan untuk menambahkan endpoint khusus ke REST API. Anda hanya perlu mempelajari cara menghubungkan keduanya.

Anda akan memulai dengan membuat fungsi yang bisa sederhana atau rumit, tergantung pada kecanggihan fungsionalitas yang ingin Anda tambahkan ke REST API. Berikut ini adalah fungsi sederhana yang disediakan WordPress dalam buku panduan mereka, sebuah fungsi yang dirancang untuk mengambil judul postingan terbaru situs Anda berdasarkan penulisnya:

 $data['id'], ) ); if ( empty( $posts ) { return null; } return $posts[0]->post_title; } 

Setelah itu, Anda perlu mendaftarkan rute untuk membuat fungsi ini tersedia untuk API dengan menggunakan fungsi lain yang disebut register_rest_route. Berikut adalah fungsi yang digunakan WordPress untuk mendaftarkan rute untuk fungsi sebelumnya:

 php add_action( 'rest_api_init', function () { register_rest_route( 'myplugin/v1', '/author/(?P\d+)', array( 'methods' = 'GET', 'callback' => 'my_awesome_func', ) ); } ); 

Ada beberapa hal yang terjadi di sini. Pertama, ada tiga properti yang melewati fungsi ini, yaitu namespace ("myplugin/v1"), rute yang perlu kita daftarkan ("my_awesome_func"), dan opsi yang ingin kita gunakan ("author/(?P\d+)"). Fungsi register_rest_route juga dipanggil pada sebuah fungsi callback yang disebut "rest_api_init". Hal ini akan mengurangi pekerjaan yang tidak perluyang dilakukan ketika API tidak digunakan.

Seperti yang dijelaskan WordPress, rute ini dirancang untuk mencocokkan apa pun dengan "/author/{id}" di mana "{id}" adalah sebuah bilangan bulat. Ini adalah URL yang akan Anda kunjungi untuk menggunakan rute ini - //example.com/wp-json/myplugin/v1/author/(?P\d+) Rute khusus ini menggunakan satu titik akhir, tetapi rute dapat memiliki beberapa titik akhir. Anda dapat melihat bahwa kita juga mendefinisikan metode HTTP yang akan digunakan oleh titik akhir ini.

Konsep lain yang Anda perlukan

Ada beberapa konsep tambahan yang perlu Anda pelajari jika Anda ingin memperluas REST API, asalkan Anda belum terbiasa dengan konsep-konsep tersebut. Kami menggunakan namespace pada fungsi di atas, itulah sebabnya bagian pertama URL di atas adalah "myplugin/v1". Namespace ini digunakan sebagai awalan untuk mencegah terjadinya bentrokan dengan rute khusus.

Argumen adalah konsep lain yang harus Anda kenali karena memungkinkan Anda menjalankan sanitasi dan validasi dengan mendaftarkannya ketika Anda mendaftarkan rute. Anda juga harus membiasakan diri dengan nilai balik (return value) karena inilah yang akan Anda gunakan untuk mendefinisikan jenis respons yang Anda terima dari server. Anda bahkan dapat menggunakannya untuk mengembalikan kesalahan, seperti kesalahan 404 yang ditampilkan jika seorang penulis belummempublikasikan postingan apa pun.

Callback adalah konsep lain yang harus Anda ketahui, seperti fungsi yang dikenal sebagai permissions callback yang memeriksa apakah pengguna dapat melakukan suatu tindakan atau tidak sebelum fungsi tersebut mencoba memanggil callback yang sebenarnya. Terakhir, membiasakan diri Anda dengan kelas internal dan pola pengendali akan membantu Anda mengelola setiap aspek endpoint yang Anda buat.

Pikiran terakhir & ke mana harus melangkah dari sini

Memahami konsep-konsep kunci dari REST API WordPress dan mempelajari cara menggunakan dan mengembangkannya bisa jadi sangat melelahkan, tetapi para pembuat WordPress cukup percaya diri bahwa API ini akan menjadi kekuatan CMS dengan cara yang dibutuhkan untuk berkembang jauh melampaui kemampuannya sebagai platform untuk membangun situs web dan blog sederhana.

Lihat juga: 35+ Statistik Twitter Teratas Untuk Tahun 2023

Belajar JavaScript harus menjadi prioritas utama saat ini, seperti yang dinyatakan sebelumnya, karena ini adalah bahasa yang diinginkan oleh pembuat WordPress agar para pengembang lebih sering menggunakan bahasa ini dalam proyek WordPress.

Anda juga harus membaca buku panduan WordPress REST API untuk mendapatkan pemahaman yang lebih baik tentang pandangan WordPress tentang REST API. Bagian Menggunakan REST API berisi panduan tentang cara menggunakan parameter global, pagination, penyematan dan penautan, dan autentikasi, yang semuanya merupakan konsep utama dari API ini.

Setelah Anda mendapatkan pemahaman yang cukup baik tentang semua itu, Anda dapat membaca bagian Memperluas API REST untuk mempelajari cara memperluas API secara mendalam. Anda akan mempelajari lebih lanjut tentang menambahkan titik akhir khusus dan juga akan mempelajari cara menggunakan jenis konten khusus dan memodifikasi respons.

Patrick Harvey

Patrick Harvey adalah penulis berpengalaman dan pemasar digital dengan pengalaman lebih dari 10 tahun di industri ini. Dia memiliki pengetahuan yang luas tentang berbagai topik seperti blogging, media sosial, ecommerce, dan WordPress. Semangatnya untuk menulis dan membantu orang sukses secara online telah mendorongnya untuk membuat postingan yang berwawasan dan menarik yang memberikan nilai bagi audiensnya. Sebagai pengguna WordPress yang mahir, Patrick akrab dengan seluk beluk membangun situs web yang sukses, dan dia menggunakan pengetahuan ini untuk membantu bisnis dan individu membangun kehadiran online mereka. Dengan perhatian yang tajam terhadap detail dan komitmen yang tak tergoyahkan terhadap keunggulan, Patrick berdedikasi untuk memberikan tren dan saran terbaru kepada pembacanya dalam industri pemasaran digital. Ketika dia tidak ngeblog, Patrick dapat ditemukan menjelajahi tempat-tempat baru, membaca buku, atau bermain bola basket.