Yeni WordPress API dinlenme hakkında ne bilmeniz gerekiyor

WordPress 4.4 WordPress Rest API’sını çekirdeğinin bir parçası olarak yapmak. Bu makalede, bu geliştirmenin WordPress (ve genel olarak tema yapıcılar ve eklentiler) için neden çok büyük olduğunu açıklayacağım ve WordPress ve diğer uygulamalar arasındaki iletişim sürecini basitleştirmek için bunu nasıl kullanacağınızı göstereceğim. WordPress Rest API ayrıca WordPress web sitesinin, çeşitli teknolojik kazıklar kullanılarak tamamen kişiselleştirilmiş yönetici veya içerik sunmak için varsayılan WordPress yönetici arayüzünden kurtulmasına izin verir. Calypso – Masaüstü WordPress uygulaması – bunun için iyi bir örnektir. Calypso, WordPress.com ve noktası arasında iletişim kurmak için bir WordPress Rest Fire kullanan tek bir JavaScript uygulaması kullanılarak oluşturuldu.
WordPress API REST artık WordPress çekirdeğinin ayrılmaz bir parçası olduğundan, geliştiricilerin nasıl çalıştığını ve WordPress ile etkileşime girmeye açık olan yeni olasılıkları anlamaları önemlidir. Bu WordPress Rest API özeti ve öğreticisinde, WP REST API’sının temelleri boyunca size rehberlik edeceğim ve temel özel yayınların kahramanca bilgi türlerinden en son yayınları görüntüleyen bir widget (eklenti) oluşturmak için nasıl kullanabileceğinizi göstereceğim. WordPress Rest API’da Birincil Bir widget (eklenti) oluşturmak için WordPress Rest Fire’ın nasıl kullanılacağını görmeden önce, önce terimi biraz daha iyi anlayalım.
Peki ateş anlamına gelen nedir? API, uygulama programı arayüzünün kısaltmasıdır. En basit terimde, bu iki farklı uygulama arasında bir iletişim aracıdır. Yangın eyleminin yaygın bir örneği, birçok web sitesi tarafından görüntülenen tweet destesidir. Bu güverte tweet’ini göstermek, web sitesinin yalnızca Twitter’dan veri aldığı ve görüntülediği bir yangınla mümkün olur. Dinlenmeye ne dersin? Dinlenme, temsili durum transferinin kısaltmasıdır. REST, HTML tabanlı bir API bina mimari tarzıdır. Restful mimarisi, iki kaynak arasında veri yayınlamak, okumak, güncellemek ve silmek için HTTP isteklerini kullanır. Bu nedenle, Restaus hakkında konuştuğumuzda, temel olarak ne demek istediğimiz, iletişim kurmak için HTML yöntemini kullanan bir API’dır. Peki ya Json? WordPress Rest API, WordPress Json Rest API ile aynı biçime sahiptir. JSON (veya JavaScript nesne gösterimi), farklı platformlar arasında (platform farklı diller kullansa bile) düzgün veri değiştirmek için kullanılan minimum metin tabanlı veri alışverişi biçimidir. JSON, XML bazlı çözümler için hafif bir alternatiftir ve bant genişliği sınırlarına sahip hücresel uygulamalar için mükemmeldir. WordPress Rest API’sini kullanarak WordPress API REST hakkında neyin özel olduğunu ve neden bunu önemsemeniz gerektiğini merak ediyor olabilirsiniz.
Peki … WordPress REST API, WordPress ile daha fazlasını yapmanızı sağlar. Örnek olarak:
Uygulamayı bildiğiniz herhangi bir dilde yazın ve WordPress sitesiyle etkileşime girmesini sağlayın (sadece 2 gereksinim, uygulamanızın dilinin HTML yöntemini kullanması ve JSON’u yorumlayabileceğidir)
WordPress’in üzerindeki tek sayfa uygulamasını geliştirmek tamamen kişisel olan yönetici ve içerik deneyimi tasarımı
Ve daha fazlası. Dinlenme ateşiyle yapılabilecek tüm uygulamaların/arayüzlerin/potansiyel deneyimlerin bir listesini yapmak neredeyse imkansızdır. WordPress restoran el kitabı düzgün bir şekilde şunları söyledi:
Hayal gücümüz, bir WordPress API dinlenmesi ile yapılabilecek tek sınırdır. Mesele şu ki, HTTP aracılığıyla WordPress’e girip çıkmanın yapılandırılmış, genişletilmiş ve basit bir yolunu istiyorsanız, bir yangın dinlenme kullanmak isteyebilirsiniz. Ancak, uygulamanın teoriyi anlamaktan çok daha zor olduğunu biliyorum. Öyleyse, özel bir widget (eklenti) oluşturmak için WordPress Rest Fire’ı nasıl kullanabileceğinize dair kısa bir öğreticiye bakalım. WordPress REST API’sının nasıl kullanılacağına dair kısa bir öğretici Bilgi tabanı ürünlerimizden birine sahipseniz, Knowall Yardım Merkezimizin teması veya kahramanca bilgi tabanı eklentisi olan kendi temalarınız gibi, bilgi temeline sahip bir siteniz olacak Makaleleri destekleyin. Bu ürünü kullanmanın bu öğreticinin ilkelerini izlemeniz gerekmez, ancak herhangi bir kodu kendi ayarlarınıza ayarlamanız gerektiğini unutmayın.
Peki, yerel ayarlarınızla hazır mısınız? Büyük! Şimdi yapacağımız şey farklı bir sunucuda başka bir web sitesi oluşturmak. Öyleyse neden bu ikinci web sitesini oluşturuyoruz? Bunu yapıyoruz çünkü bu ikinci web sitesiyle iletişim kurmak için WordPress Rest API’sını uygulamak istiyoruz ve şimdi bildiğiniz gibi WordPress Rest API bir konuşma yapmakla ilgili. Bu nedenle, her iki web sitesinin konuşması ve veri alışverişi yapmak için WordPress Rest Fire’ı kullanacağız. Ve bu öğreticinin nihai amacı: Yardım Merkezi Web Sitesinden yayınlanan en son bilgi tabanı makalelerini seçin ve yeni web sitesi tarafındaki widget’ta sergileyin. Bu makale, tüm bilgi tabanı makalelerine sahip Yardım Merkezi Web Sitesi Siteye ‘yerel’ web ve widget’ı görüntüleyeceğiniz yeni web sitesi olarak adlandırılacak ‘harici’ web sitesidir. Bu noktada, 1) ‘yerel’ ‘yerel’ merkezler ‘web sitenize ve 2) farklı sunuculara hazırlanan yeni’ harici ‘web siteleriniz olduğunu varsayıyorum. Ve öğreticinin sonunda, özel bir widget (eklenti) kullanarak yeni ‘harici’ web sitesindeki (WordPress API dinlenme aracılığıyla) yeni ‘yerel’ web sitesinden bilgi tabanı makalelerinin bir listesini göstermeyi başaracağız.
Bununla birlikte, başlamaya hazırız: Adım #1: Yeni .php dosyasına aşağıdaki Bolarplate kodunu kopyalayarak başlayın ve ‘harici’ web sitesi eklentisi klasörünüze kaydedin. Bu WordPress REST API öğreticisinin tam koduna bakın. /**
* Herothemes Örnek Widget
*/
Sınıf my_widget wp_widget {
// Widget’ı ayarlayın
genel işlev __Construct () {
$ widget_ops = dizi (
‘ClassName’ => ‘REST-API-Test-Widget’, ‘Açıklama’ => ‘Bu örnek, widget’ımızı nasıl oluşturacağımıza dair bir çerçeve sağlar’
);
Ebeveyn :: __ construct (‘my_widget’, ‘widget’ım’, $ widget_ops);
}
/**
* Widget’ın içeriğini çıkarır
* @param dizisi $ args
* @param dizisi $ örnek
*/
Genel işlev widget ($ args, $ örnek) {
// widget’ın içeriğini çıkarır
echo $ args [‘Önce_widget’];
if (! boş ($ örnek [‘başlık’]))) {
echo $ args [‘Öncesi_title’]. Applate_filters (‘widget_title’, $ örnek [‘başlık’], $ örnek, $ this-> id_base). $ args [‘After_title’];
}
// ana widget içeriği buraya gidiyor
echo $ args [‘After_widget’];
}
/**
* Yöneticide seçenekler formunu çıkarır
* @Param Array $ Widget seçeneklerinin örneği
*/
Genel işlev formu ($ örnek) {
// Yöneticide Seçenekler Formunu Çıkarır
$ title = (! boş ($ örnek [‘başlık’]))? $ örneği [‘başlık’]: ”; ?>
<label for = " get_field_name (‘başlık’);?>”> başlık:
<giriş sınıfı = "widefat" id = " get_field_id (‘başlık’);>”
Name = ” get_field_name (‘başlık’);>”
type = “text” değer = “” />
<? Php
}
}
Add_action ('widgets_init', function () {register_widget ('my_widget');});
Bu kod, seçtiğiniz başlığı görüntüleyecek çok basit bir widget yapar. Kodu şablonun üstüne ekleyerek ve eklentiler dizinine kaydederek, bir eklenti olarak yaptık (Kodu tema işlev dosyasına eklemiyoruz). Bu küçük bir şeydir, ancak bu tarzda bir eklenti olarak bir widget yapmak, onu etkinleştirip devre dışı bırakabilmenizi ve daha sonra isterseniz, kopyalamanıza ve yapışmaya gerek kalmadan daha sonra tekrar kullanabilmenizi sağlar. Kurulduktan ve etkinleştirildikten sonra, gösterge tablosundaki widget alanında yeni bir widget olacak: Adım #2: En son bilgi tabanı makalesini almak için WordPress API'sını kullanın
Bu geliştirmede hiçbir şeyi düzenlemek veya silmek istemediğiniz için, yalnızca widget işlevine () odaklanacağız. Widget'ın içeriğinin 'harici' web sitesine yayınlandığı yer burasıdır. 'Yerel' web sitesinden en son bilgi tabanı makalelerinin listesini 'almak' için bilmemiz gereken bazı şeyler var:
API'nın temel yolu (API Sitenizde kullanılanlar, bizim durumumuzda en son WP API'sı)
Kullanılan rota (WP API'sının farklı veri setleri ve kullanılabilir işlemler için birkaç yolu vardır)
Kullanılan bitiş noktası (hangi eylem yapılacaktır)

Parametreler (istekle ilgili veriler)
Ateşin temel yolu her zaman:
json/wp/v2/ve mutlak ateş yolu: http://example.com/json/wp/v2/ (http://example.com ‘yerel’ web sitenizdir) kullanılan rota: json/wp/ V2/direkler/yaklaşık nokta sonu: Bu yol aslında HTTP yöntemi ile ayırt edilen üç uç noktaya sahiptir. Bu bitiş noktası:
Almak
KOY
SİLMEK
Bu örnekte, ‘Yerel’ web sitesinin en son gönderi listesini alabilmeniz (veya ‘al’) için son noktayı seçeceksiniz. Restaus ile etkileşime giren kodunuzun ilk satırı şudur: $ tepki = wp_remote_get (‘http://products-website.com/wp-json/wp/v2/posts/); daha sonra, olup olmadığını kontrol etmeniz gerekir. Bir hata döndürüldü: if (IS_WP_ERROR ($ yanıt)) {

dönüş;
}
Bu kodun yaptığı, yalnızca hangi yanıtların döndürüldüğünü kontrol etmektir. Yanıt bazı gönderileri döndürürse, hata yoktur. Bu bölümün son kısmı:
$ posts = json_decode (wp_remote_retrieve_body ($ yanıt));
if (boş ($ gönderiler)) {
dönüş;
}
$ yanıt, JSON’un veri göndererek teşvik edildiği bir dizedir. Yani burada yaptığınız her şey, kaldırılabilmesi için kod çözmektir. Bir kez daha, $ yayınların boş olmadığından emin olmak için ek bir onay işareti ekleyin. Evet ise, hiçbir şey döndürülmez. Bu noktada, API kullanarak ‘yerel’ web sitenizle başarıyla iletişim kurdunuz. Bu uygulama size görüntülenecek yayınların bir listesini verir. Bir sonraki adım, ‘harici’ web sitesindeki widget’ınızda gerçekten görüntülemektir. Adım #3: Aşağıdaki kodu ekleyerek ‘harici’ web sitesindeki en son yayınları gösterin: if (! Boş ($ gönderiler)) {
echo ‘
‘;
Foreach ($ gönder) {
echo ‘
bağlantı.’ “> ‘. $ Post-> Başlık-> Oluşturma. ‘
‘;
}
echo ‘
‘;
} Tam widget’ınızın kodu şöyle görünecektir: /**
* Herothemes Dinlenme Ateş Widget*/
Rest_api_widget sınıfı wp_widget {
// Widget’ı ayarlayın
genel işlev __Construct () {
$ widget_ops = array (‘className’ => ‘REST-API-Widget’,
‘Açıklama’ => ‘Bir fark web sitesinden yayın çeken bir dinlenme yangın widget’ı’
);
Ebeveyn :: __ yapı (‘rest_api_widget’, ‘Rest Fire Widget’, $ widget_ops);
}
/**
* Widget’ın içeriğini çıkarır
*
* @param dizisi $ args
* @param dizisi $ örnek
*/
Genel işlev widget ($ args, $ örnek) {
// Siteniz için bu URL’yi WP-API uç noktasına değiştirin!
$ Response = wp_remote_get (‘https://example.com/wp-json/wp/v2/ht-kb/’);
if (is_wp_error ($ yanıt)) {
dönüş;
}
$ posts = json_decode (wp_remote_retrieve_body ($ yanıt));
if (boş ($ gönderiler)) {
dönüş;
}
echo $ args [‘Önce_widget’];
if (! boş ($ örnek [‘başlık’]))) {
echo $ args [‘Öncesi_title’]. Applate_filters (‘widget_title’, $ örnek [‘başlık’], $ örnek, $ this-> id_base). $ args [‘After_title’];
}
// ana widget içeriği
if (! boş ($ gönderiler)) {
echo ‘
‘;
Foreach ($ gönder) {
echo ‘
bağlantı.’ “> ‘. $ Post-> Başlık-> Oluşturma. ‘
‘;
}
echo ‘
‘;
}
echo $ args [‘After_widget’];
}
/**
* Yöneticide seçenekler formunu çıkarır
*
* @Param Array $ Widget seçeneklerinin örneği
*/
Genel işlev formu ($ örnek) {
// Yöneticide Seçenekler Formunu Çıkarır
$ title = (! boş ($ örnek [‘başlık’]))? $ örneği [‘başlık’]: ”;
?>
<label for = " get_field_name (‘başlık’);?>”> başlık: <giriş sınıfı = "widefate" id = " get_field_id ( ‘başlık’);?> ”
Name = ” get_field_name (‘başlık’);>”
type = “text” değer = “” />
<? Php
}
}
Add_action ('widgets_init', function () {register_widget ('rest_api_widget');}); Yukarıdaki adımlar bittikten sonra, 'harici' web sitenizi görmeye çalıştığınızda, yayın listenizi kenar çubuğunuzdaki 'yerel' web sitesinden göreceksiniz.
Hepsi iyi. Ancak, hatırlarsanız, bu doğru yazı değil, çünkü sadece bilgi tabanından en son makaleleri görüntülemek istiyoruz. Mevcut uygulamamız bunu yapmaz, çünkü bilgi tabanı eklentisi kendi özel yazı tipini kullanır. Ve özel sevkiyat türü varsayılan olarak kamuya açık bir şekilde mevcut olmadığından, bu sorunlara neden olur. (Not: Bilgi tabanının en son sürümü API'nın geri kalanı için halka açıktır ve bir sonraki bölüm aktarılabilir) Restaus için özel bir yazı türü oluşturmak için özel bir yazı türü ile bir yangın dinlenmesi kullanılarak, siz küçük bir çözüme ihtiyacım var. Bu nedenle, özel bir gönderi türü yaparken, kamuya açık olan sevkiyat türü için argümanlar listesine yeni parametreler eklemeniz gerekir:
'show_in_rest' = true,
'rest_base' = 'ht_kb',
'rest_controller_class' = 'wp_rest_posts_controller',
Ancak bizim durumumuzda, bilgi tabanı makalesinin bilgi türüne güç vermek için bir eklenti kullandığımız için, dinlenme yangınları için özel bir yazı türü oluşturmak için eklenti dosyasını hemen düzenlemeyeceğiz. (Eklenti dosyasını doğrudan düzenlemek iyi bir fikir değildir!) Yapacağımız şey, 'Yerel' web sitesi için çocuk temasındaki function.php dosyasına aşağıdaki kodu eklemektir: Knowall ve kahraman bilgi tabanının en son sürümü etkinleştirildi Geri kalan destek, bu HT_KB_SHOW_IN_REST filtresi tarafından devre dışı bırakılabilir, ancak aşağıdaki kodu kendi özel yazı türünüz için değiştirebilirsiniz.
/**
* Mevcut bir yazı türüne dinlenme desteği ekleyin
*/

Add_action (‘init’, ‘my_custom_post_type_rest_support’, 25);
İşlev my_custom_post_type_rest_support () {
Global $ wp_post_types;
// Bunu yazı tipinizin adına ayarlayın!
$ post_type_name = ‘ht_kb’;
if (isset ($ wp_post_types [$ post_type_name])))) {
$ wp_post_types [$ post_type_name]-> show_in_rest = true;
$ wp_post_types [$ post_type_name]-> rest_base = $ post_type_name;
$ wp_post_types [$ post_type_name]-> rest_controller_class = ‘wp_rest_posts_controller’;
}
} Şimdi, ‘HT_KB’ yazının özel türü, WP’den WP REST API’si için kullanılabilir. WordPress Rest API için özel bir yazı türü oluşturduktan sonra, şimdi bu tür yayınlarla yayınları görüntülemek için widget’ımızı düzeltmemiz gerekiyor. Bunun için, 2. adımdan $ yanıt koduna geri döneceğiz ve şu adrese güveneceğiz: $ rep Response = wp_remote_get (‘http://example.com/wp-json/wp/v2/ht_kb/’);
‘HT_KB’ özel eklenti yazı türünün adıdır çünkü temel olarak / yayın / ht_kb / to / ht_kb / to / ht_kb / to / ht_kb / Widget’ı güncelledikten ve ‘harici’ web sitesinin önizlemesini gördükten sonra, şimdi bilgi tabanından en son makaleleri göreceksiniz. Bilgi tabanı makalesi bulmak ve sonuçları widget’taki geri yüklemek için WP REST API kullanan bir arama kutusu oluşturmak için yeni oluşturduğumuz eklentiyi değiştirebilirsiniz. Veya sonuçları kimin gördüğünü kontrol etmek için kimlik doğrulamasını kullanabilirsiniz (sınırlı bir içerik yaptıysanız kullanışlıdır). Deneyebileceğiniz çok şey var! Sadece temel bilgileri doğru bir şekilde yapın ve hazır olacaksınız. Daha fazla okuma WordPress REST API çevresinde çok sayıda eski içerik vardır, bu yüzden güncellenen şeyleri okuduğunuzdan emin olun. Yazı boyunca birkaç yararlı kaynağa bağladım, ancak buraya da bazılarını da ekliyorum. Bu nedenle, bir yangın dinlenme kullanmak için kullanabileceğiniz çeşitli yaratıcı yolları okuyun ve bulun.
REST API El Kitabı
SSS REST API
WP REST API: Hedefimiz bu mu?
WordPress Rest API uygulaması hakkında bir sorunuz varsa, aşağıdaki yorumlara yazın!

admin

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir