WordPress HTTP API ile çalışmak

Bu makalede, JSON REST API gibi harici kaynaklara uzun mesafeli HTTP istekleri yapmak için WordPress fonksiyon kütüphanesinden bir dizi PHP işlevi olan WordPress HTTP API’sının nasıl kullanılacağı açıklanmaktadır. HTTP API WordPress’i, Facebook veya Twitter aracılığıyla eriştiğimiz verilerden hava durumu bilgilerine erişebileceğiniz verilerden uzak kaynaklara – çalıştığımız WordPress sitesinde olmayan kaynaklara erişmek istediğimizde kullanıyoruz. Kurumsal Hükümet tarafından yayınlanmıştır. HTTP WordPress API işlevini, özellikle wp_remote_get (), wp_remote_post () ve wp_remote_head () kullanarak bu uzun mesafe isteğini yapıyoruz.
Bu makaleyi size, şimdi revize edilen ve genişletilen 3. baskıda, “WordPress’in öğrenme geliştirme” nin tam rehberinden bir bölüm örneği olarak sunmaktan gurur duyuyoruz. Bu bölümü beğendiyseniz, çalışmaya bakın. Bunun geldiği yerden yaklaşık 40 bölüm daha var. Bu, WordPress’in geliştirilmesi için en iyi rehberdir.
WordPress geliştirmeyi öğrenmek konusunda ciddi mi? Uyan ve bugün koş

Yukarı ve Çalışmak, “WordPress Gelişimimizi Öğrenmek” tam bir kurs. Şimdi güncellenen ve genişleyen üçüncü baskıda, bu, WordPress’in gelişimini hızlı, akıllı ve kapsamlı bir şekilde öğrenmek isteyen yüzlerce alıcıya yardımcı oluyor.

“Bence WordPress’in gelişimini öğrenmek isteyen herkes bu kursu gerektiriyor. Çalışmadan önce bazı WordPress kodlarını öğrenmiştim, ama yönüm yoktu. Kurs videosunu izlemek, açılan bir grup ışık gibidir. Tema, Fonksiyon ve WordPress’in kendisinin bunun ustalaşması için nasıl çalıştığını belirsiz bir şekilde tanıdım. Her şey çok daha net. Bu kursu dinlemek isteyen herkese tavsiye etmekten mutluluk duyuyorum. ” – Jason Robie, WordPress geliştiricisi WordPress geliştirme yolculuğunuzda bir sonraki adımı atın!
Uyan ve şimdi koş
Ana paketler:


WordPress HTTP API, uzun mesafeli bir HTTP isteğinin oluşturulmasını basitleştirir: HYRYETT aktarım Protokolü (HTTP), İnternet’teki temel iletişim tesislerini kullanarak bilgi iade etme (ve aynı zamanda değiştirilebilir) içeriği.
Wp_remote_get (), wp_remote_post () ve wp_remote_head () işlevleri her biri Get, Post ve Head için bir istek yaptı. WP_REMOTE_REQUEST () her türlü HTTP isteklerini yapabilir.
HTTP istekleri sonucunda alınan HTTP yanıtı, yanıt kontrol fonksiyonu tarafından daha da işlenir. WP_REMOTE_RETRIEVE_Body () ve WP_REMOTE_RETRIEVE_HEAD () gibi daha önce yazılmış işleyici işlevleri, birçok yanıtın ayrışmasını büyük ölçüde basitleştirir.
Zaman zaman, sitedeki kendiniz dışında uzun mesafeli bir kaynak – kaynaklar çağırmalısınız. Bunu yapmanın ortak yolu, ihtiyacınız olan bilgiler için bir HTTP isteği yapmaktır. Bu bölüm HTTP’yi açıklar ve HTTP API WordPress’i araştırır.
Web HTTP’yi anlamak HTTP: HyperText Transfer Protokolü aracılığıyla çalışır. HTTP, bilgisayarlar arasındaki “protokol”, yerleşik stil, talep ve yanıtlardır. İki bilgisayar bu şekilde “el sıkışın” ve birbirleri arasında veri aktarın. Ne transfer ediyorlar? HTML anlamına gelen “hipermetin” aktarırlar. (Unutmayın, HTML “Hipermetin İşaretleme Dili” nin kısaltmasıdır.) Bu nedenle HTTP, HTML’nin bilgisayarlar arasında ileri geri gönderildiği kararlaştırılan bir standarttır. HTML’nin bilgisayarlar arasında aktarılması Web ile neredeyse aynı olduğundan, HTTP işlevi için çok önemlidir. HTTP: GET, Head ve farklı gönderi yöntemleri farklı amaçlar için kullanılır.
HTTP API ile rahat olmak için, HTTP’nin kendisi hakkında biraz anlamanız gerekir – ilk ve en önemlisi, farklı HTTP yöntemleri olduğunu ve yöntemin farklı amaçlar için kullanıldığını. HTTP’nin toplam sekiz yöntemi vardır, ancak WordPress HTTP API ile çalışmak için sadece üç yöntem bilmemiz gerekir: Get, Head ve Post.
Muhtemelen en yaygın ve tanıdık HTTP yöntemini alın. Talep alma, ana içerikler de dahil olmak üzere HTTP kaynaklarını alma şeklinizdir. Tarayıcınız https://wpshout.com gibi bir web sayfasını her ziyaret ettiğinde, aslında web sitesi sunucusuna bir GET isteği gönderir.
Talepleri Alın Genellikle yalnızca bilgi alır – Sunucu, GET taleplerini sunma sürecinde bilgileri yapmamalı, değiştirmemeli veya yok etmemelidir.
Head Head, kaynakların gerçek içeriğini istemediğiniz bir taleptir. Örneğin, yalnızca web siteleri hakkında meta veriler toplarsanız, https://wpshout.com adresine kafa isteği yapabilirsiniz ve GET için yaptığınız gibi bir cevap alacaksınız, ancak aslında içerik olan her şeyi tutan vücut olmadan. (Örneğin, WPSHOUT tarafından hangi karakter kodlama şemasının kullanıldığını incelediniz. Talep almak basittir “alabilir miyim?” Daha karmaşık gönderin: “Bir şey yapmanız için (veritabanına kaydetmek gibi) belirli miktarda bilgi veriyorum ve bunu bitirdikten sonra karşılığında bilgi istiyorum.” Formu doldurursanız, yeni bir tweet yayınlarsanız veya bir yerde check-in yaparsanız, bir yerlerde bazı yazılım katmanları sizin için bir yazı isteği yapabilir.
HTTP API WordPress WordPress HTTP API, HTTP istekleri yapmak ve elde edilen HTTP yanıtını işlemek için basit bir PHP işlevi sağlar. WordPress HTTP API, HTTP istekleri yapmanıza ve uygun yanıtları ele almanıza olanak tanıyan birkaç basit PHP işlevi ve “WordPress-y” sunar. Bu işlevler iki türden oluşur:
Talep Fonksiyonu: HTTP isteklerini yapan işlev
Yanıtla İşleme: Aldığınız yanıtı anlamanıza yardımcı olan işlevler
Uygulamada, önce isteyen işlevi kullanacaksınız ve ardından ED’nin yanıt işleyişine geri dönüşü sonuçlarını ileteceksiniz. HTTP istek işlevi, alma, yayın ve kafa istekleri yapmanıza izin verir (ayrıca talepler için istekler daha az yaygın olan HTTP yöntemi). Sürekli olarak adlandırılırlar:
wp_remote_get () bir istek almaktır
WP_REMOTE_POST () Post istekleri içindir
wp_remote_head () kafa isteği içindir
İlk üç işlev, her türlü HTTP isteğini yapabilen dördüncü işlev olan wp_remote_request () kullanılarak biraz spesifik olarak. Bu dört işlev aynı iki argümanı alır:
Url
İsteğe bağlı parametre ilişkilendirme dizileri
Yani şöyle görünüyorlar: function_name ($ url, $ args); .
Örnek: Eve almak için bir GET isteği yapın WPSHOUT, wp_remote_get () kullanabilirsiniz:
/ * Çevre: bir temanın işlevindeyiz.php veya bir eklenti dosyası */ $ args = array (‘timeout’ => 10); $ tepkisi = wp_remote_get (‘https://wspout.com’, $ args); Veya aynı şeyi yapmak için wp_remote_request () kullanabilirsiniz: / * Çevre: Bir temanın işlevinde veya eklenti dosyasındayız * / $ args = array (‘Yöntem’ => ‘Get’ ‘=> 10); $ tepki = wp_remote_request (‘https://wpshout.com’, $ args);
Her iki örnek kodları da aynı şeyi yapar: WPSout ana sayfası için bir HTTP isteği alırlar ve sonuçta elde edilen HTTP yanıtını $ yanıt değişkenine kaydederler. $ Args’ın nasıl çalıştığını göstermek için isteğe bağlı bir parametre ayarladık: zaman aşımı. Bu parametre tamsayılar alır ve saniyeler içinde, isteğin yalnızca hatayı döndürmeden önce bir yanıt beklemek istediğinizi belirlemenizi sağlar. Dolayısıyla, yukarıdaki iki örnek, zaman bitmeden 10 saniye bekleyecektir, varsayılan 5 değil. Dizi $ args, aşağıdakiler gibi bir dizi başka parametre alabilir: ‘Yeniden yönlendir’ tamsayıları alın ve ne kadar, ne kadar belirlemenize izin verebilir. Var, transfer kabul edecek.
‘Engelleme’ Boolean alır ve senaryonunuzun yürütülmesindeki diğer her şeyin isteğinizi beklemesini isteyip istemediğinizi belirler.

‘SSLVerify’ Boolean alır ve SSL Site Güvenlik Sertifikası geçersizse yanıtı reddedip reddetmeyeceğini belirler.
Tam bağımsız değişken listesi kodeks, http://codex.wordpress.org/http_api#other_argumens.
HTTP yanıtını yardımcı işleviyle işlemek WP_REMOTE_REQUEST () aile işlevinden geri aldığınız şey, yapılandırılmış bir PHP dizisi olarak devam eden HTTP yanıtıdır.
Tam yapıyı hatırlamadan bu yanıt dizisinde ne istediğinizi bulmak için genellikle WordPress yardımcı işlevini kullanabilirsiniz.
Yardımcı İşlevlerin Bölümlerinin Listesi Tüm bu işlevler HTTP yanıtını ilk argüman olarak alır (ve sadece wp_remote_retrieve_header () hariç herkes için). Bu yanıt, yukarıdaki kod örneğinde $ yanıt değişkeni olarak kaydettiğimiz HTTP istek işlevinin sonucudur. Yukarıda https://wpshout.com adresine yaptığımız istek durumunda, sayfayı oluşturmak için tarayıcı tarafından kullanılan tüm HTML’yi alacaksınız.
wp_remote_retrieve_header ikinci işlev parametresini gerektirir: yanıttan istediğiniz HTTP başlığının adı ‘ana bilgisayar’ veya ‘yetkilendirme’.
WP_REMOTE_RETRIEVE_HEADERS: “S” sonuna dikkat edin; Bu, yanıtta bulunan tüm HTTP başlıklarının PHP dizisini döndürür.
wp_remote_retrieve_response_code: size 404 veya 200 veya 501 olarak yanıt için sayısal bir HTTP durum kodu verecektir. Talep başarılı olursa, genellikle 200’lerde olacaktır; Yanlış bir şey yaparsanız, 400’ler olacak; Ve eğer sunucu bunu bozarsa, 500’lerde olmalıdır.
WP_REMOTE_RETRIEVE_RESSON_MESSAGE Korkunç bir numara bulursanız yararlıdır. Bu, sayıyı 401 değil “geçersiz” gibi metin sürümüne çevirecektir.
Örnek: wp_remote_retrieve_body () ile bir sayfa içeriği alın Bu örnek yukarıdaki wp_remote_get () kullanımına devam eder: https://wpshout.com adresine yapılan GET taleplerinin sonuçlarını alıyoruz. Her şeyin birbirimiz için nasıl uygun olduğunu göstermek için aşağıdaki örnekte kodu bırakacağız. Aptal ama işlevsel bir şey yapmanın örnekleri: Tam HTML kodunda “WordPress” kelimesinin kaç kez göründüğünü hesaplayın. Aşağıdaki işlevi eklenti veya function.php dosyasına koyarsanız, kont_wordpress_on_wpshout_homePage () ile işlevin kendisini çağırın; , tarayıcınız numarayı görüntüler (54, en son kontrol ettiğimizde) ./* Çevre: Bir temanın işlevindeyiz. “WordPress” işlevi count_wordpress_on_wpshout_homePage () {$ args = array (‘timeout’ => 10); $ tepkisi = wp_remote_get (‘https://wspout.com’, $ args); // (IS_WP_ERROR ($ yanıt)) {return; } // Uzaktan HTML dosyasını Ayrıştırın $ wspout_homepage_html = wp_remote_retrieve_body ($ rep Respons); // (is_wp_error ($ wpsout_homepage_html)) {return; } // Sayfanın html $ count = substr_count ($ wspspout_homepage_html, ‘WordPress’) ‘in “WordPress” örnekleri; Dönüş $ sayısı; }
Bu örnekle ilgili not, birçok sitede “WordPress” kullanımını hesaplamanız gerekmiyor gibi görünüyor, ancak burada kanıtladığımız HTTP yöntemi diğer web sitesi içeriğini analiz etmek için çok yararlı. Bu HTTP yöntemi, bir sonraki bölümü keşfetmeye başlayacağımız bir dizi durumda en yararlıdır: Site verilerini ortaya çıkarmanın HTTP API-Formal Yolları ile çalışma -Facebook, Twitter ve Oxford English Sözlüğü gibi hizmetlerle ve diğer WordPress siteleri tarafından sunuldu! Neden HTTP istekleri yapmak için PHP varsayılan yöntemini kullanmıyorsunuz? PHP’nin HTTP istekleri yapmanın birkaç yolu vardır. Neden WordPress kullanıyorsunuz? Her zamanki gibi, cevap “WordPress tarafından” bir şeyler yapmaktır. WordPress gördü, bir hata raporu aldı ve çok sayıda sunucuya karşı savaşlar, konfigürasyonlar ve ana bilgisayar parazitine karşı savaşlar için test edildi. WordPress işlevi, bu olasılıkların çoğu için çözümlere ve geri dönüşlere sahip olacak şekilde ayarlanmıştır. Bir WordPress geliştiricisi olarak, esneklik birikimini “yine de işleyen” birikimini kullanmak daha iyidir.
Öğrendiğimiz şey, size WordPress HTTP API’sının ne için ve nasıl kullanılacağına dair iyi bir anlayış sunar. Bu yangını, WPSOUT ana sayfasından Twitter’dan JSON ücretine kadar bir şey almak için kullanabilirsiniz – tavan sınırıdır.
Limerick’in bir özeti Uzun mesafeli sitelerle konuşmak için lütfen API HTTP’yi deneyin: Ayrıştırma ve yanıt istekleri için bu en iyisidir ve işlev çok kolaydır.
Sınav zamanı!
Uzun mesafeli HTTP istekleri aşağıdakilere doğru çözüm olacaktır:
“Son Gönderi” eklentisi
Diğer WordPress sitelerini hedefleyen “Son Facebook Post” Eklenti “blog toplayıcı” eklentisi
Aşağıdaki HTTP istekleri, veritabanına yazma gibi durum değişikliklerine neden olmak için iyidir:
Almak
Kafa

Postalamak
Aşağıdaki yanıt işleme işlevinden, bu ikinci bir argüman gerektirir:
wp_remote_retrieve_header ()
wp_remote_retrieve_headers ()
wp_remote_retrieve_body ()
Cevaplar ve Açıklamalar
B. A “uzak” değildir ve C muhtemelen en iyi RSS yem okuyucuları kullanılarak işlenir.
C. Get ve Head, sadece durumu değiştirmeden bilgi almalıdır.
A. İkinci argüman, ‘ana bilgisayar’ gibi istenen başlıktır.

admin

Bir Cevap Yazın

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