Terkadang saat kita membuat website dinamis yang membutuhkan pemprosesan data di backend, kita akan mengandalkan API atau Application Programming Interface. API adalah jembatan bagi front-end yang dilihat dan berinteraksi dengan pengguna, dan backend yang mengolah data untuk atau dari pengguna.

Nah, untuk wordpress, kalian bisa menggunakan ajax atau wordpress REST API. Masing-masing memiliki kelebihan serta kekurangannya masing-masing. Disini saya akan bahas mengenai REST API untuk wordpress dan bagaimana cara menambahkan custom route rest api sendiri.

REST API

REST API adalah singkatan dari Representational State Transfer Application Programming Interface. Salah satu jenis arsitektur perangkat lunak yang digunakan dalam pengembangan aplikasi web.

REST API memanfaatkan prinsip-prinsip dasar berikut:

  1. Resource: Dalam REST, sumber (resource) adalah objek yang direpresentasikan melalui URL (Uniform Resource Locator).
  2. HTTP Methods: REST API menggunakan metode HTTP seperti GET (untuk mendapatkan data), POST (untuk membuat data baru), PUT (untuk memperbarui data), dan DELETE (untuk menghapus data) untuk berinteraksi dengan backend.
  3. Stateless: RESTful API adalah stateless, yang berarti setiap permintaan klien ke server harus berisi semua informasi yang diperlukan untuk memahami dan memproses permintaan tersebut. Server tidak menyimpan informasi tentang status sesi klien sebelumnya.
  4. Representations: Sumber daya dalam REST dapat memiliki berbagai representasi, seperti JSON, XML, HTML, atau format data lainnya.
  5. URI (Uniform Resource Identifier): Setiap sumber daya memiliki URI yang unik untuk mengidentifikasinya. URI ini digunakan oleh pengguna (atau developer) untuk mengakses atau memanipulasi sumber daya tersebut.

REST API sangat umum digunakan dalam pengembangan aplikasi web dan mobile karena kesederhanaannya dan kemampuannya untuk menghubungkan berbagai platform dan teknologi. RESTful API digunakan untuk mengakses dan mengelola data, sumber daya, dan layanan di berbagai aplikasi, termasuk situs web, aplikasi seluler, dan banyak lagi.

Membuat REST API Endpoint WordPress

Jika kalian sudah sedikit mengerti tentang REST API dan kegunaannya, kalian bisa ikuti langkah-langkah berikut untuk menambahkan endpoint kalian sendiri.

Jika kita ingin menambahkan endpoint, kalian bisa menggunakan class ataupun fungsi secara normal. Selain itu, kalian harus menambahkan atau menggunakan rest_api_init hook dan fungsi register_rest_route agar wordpress dapat mengolahnya. Contoh menggunakan fungsi:

add_action('rest_api_init', 'tambah_rute_rest_api');
function tambah_rute_rest_api(){
   register_rest_route(argumen..); // untuk menambahkan route
   //kalian bisa tambahkan yang lainnya dengan fungsi register_rest_route
}

Kalian juga harus Mengisi argumen register_rest_route agar bisa dipangil atau dijalankan. Berikut adalah contohnya:

// penjelasan parameter
// 1: namespace rest api -> seperti yoast/v1
// 2: endpoint kalian -> seperti yoast/v1/[endpoint]
// 3: array atau array dalam array untuk konfigurasi lainnya, seperti http method, permission, argument, dan callback.

register_rest_route('rest-apiku/v1', '/blog', [
  'methods' => 'POST', // atau WP_REST_SERVER::POST
  'permission_callback'  => '__return_true', // isi dengan fungsi kalian jika ingin tidak sembarang orang bisa menggunakan endpoint ini.
  'args' => [
     'id' => [
         'type' => 'integer', // type dari data
         'required' => true, // apakah argumen atau parameter ini diwajibkan.
     ]
  ], // array untuk argumen yang diterima dan dicek oleh wordpress.
  'callback' => 'olah_post__' // fungsi yang akan dijalankan
]);

Kemudian untuk callbacknya, kalian akan mendapatkan berbagai informasi dari class WP_REST_Request, dan juga dari variable global php seperti $_POST, $_GET, $_SERVER. Contoh dari callback:

function olah_post__(WP_REST_Request $request){
  // lakukan apa yang ingin kalian jalankan di fungsi ini
}

Jangan lupa juga, jika kalian menggunakan file dalam tema untuk menambahkan file custom rest kalian, agar wordpress bisa mengenalinya. Selain itu, kalian sudah selesai dan bisa mencoba rest api tersebut dengan menggunakan browser atau alat tes apapun yang kalian mau. Kalian bisa mengunjungi custom rest kalian seperti berikut:

https://[domainkalian.com]/wp-json/[namespace]/[endpoint]

//berikut adalah hasil dari kode-kode sebelumnya
https://[domain]/wp-json/rest-apiku/v1/blog

Kesimpulan

Menambahkan custom route REST API ke wordpress bisa membuatmu menambahkan fitur yang menurutmu belum ada di wordpress. Namun, kalian juga harus memperhatikan beberapa hal seperti keamanan, error handling, dan lainnya.

About the Author

Dzul Qurnain

Suka nonton Anime, ngoding dan bagi-bagi tips kalau tahu.. Oh iya, suka baca ( tapi yang menarik menurutku aja)...

View All Articles