WordPress 4.7 sürümüyle birlikte sunduğu REST API endpointlerinin yaninda ihtiyaciniza uygun endpointleri kolayca gelistirebilmemize olanak sagliyor.
Ornek olarak basit bir eklentinin kodlarini paylasiyorum:
<?php | |
/** | |
* Plugin Name: WPNotlari Simple Rest | |
* Plugin URI: http://wpnotlari.com | |
* Description: Egitim amacli rest api | |
* Author: Mustafa Uysal | |
* Version: 0.1.0 | |
* Plugin URI: http://wpnotlari.com | |
*/ | |
class WPN_REST_Tanitim { | |
public function __construct() { | |
$this->namespace = 'wpnotlari/v1'; | |
add_action( 'rest_api_init', array( $this, 'register_routes' ) ); | |
} | |
function register_routes() { | |
register_rest_route( $this->namespace, '/selam', array( | |
'methods' => WP_REST_Server::READABLE, | |
'callback' => array( $this, 'merhaba_dunya' ), | |
'args' => array( | |
'isim' => array( | |
'required' => true, | |
), | |
), | |
) ); | |
register_rest_route( 'wpnotlari/v1', '/kullanici-sorgula', array( | |
'methods' => WP_REST_Server::CREATABLE, | |
'callback' => array( $this, 'kullanici_sorgula' ), | |
'args' => array( | |
'id' => array( | |
'required' => true, | |
), | |
), | |
) ); | |
} | |
public function merhaba_dunya( $request ) { | |
$params = $request->get_params(); | |
return 'Merhaba ' . $params['isim']; | |
} | |
public function kullanici_sorgula( $request ) { | |
$id = $request->get_param( 'id' ); | |
return new WP_User( $id ); | |
} | |
} | |
$controller = new WPN_REST_Tanitim; |
Uzun uzun her satiri aciklayacak sekilde yorum yazmadim, register_route ile route’u belirliyoruz, route belirlerken verdigimiz callback istegi karsilayacak method oluyor.
Yukaridaki ornegi test etmek icin, dosyayi indirip plugins dizinine yukleyi ve admin panelden eklentiyi etkinlestirin.
http://example.com/wp-json/wpnotlari/v1/selam?isim=dunya seklinde bir istekte cevap olarak “Merhaba dunya” yi gorebilirsiniz.
Diger endpoint icin POST istegi yaparak gorebilirsiniz.
Gelistirici arkadaslar rest-api suradan daha detayli bilgiye ulasabilir, konu hakkinda hic fikri olmayanlara yardimci olmasi icin bu kadar basit tuttum. Sorusu olan varsa yorumlari bekleriz 🙂
[…] post was originally published on this site Like 0 Thanks! You've already liked this […]