7 days of WordPress plugins, themes & templates - for free!* Unlimited asset downloads! Start 7-Day Free Trial
Advertisement
  1. Code
  2. Creative Coding

Cermati WordPress HTTP API: Contoh Praktis dari wp_remote_get

Scroll to top
Read Time: 12 mins
This post is part of a series called A Look at the WordPress HTTP API.
A Look at the WordPress HTTP API: A Brief Survey of wp_remote_get
A Look at the WordPress HTTP API: wp_remote_get - the Response

Indonesian (Bahasa Indonesia) translation by Nindya Novita (you can also view the original English article)

Dalam artikel terakhir dalam seri ini, kami melihat fungsi PHP yang tersedia untuk membuat permintaan jarak jauh.

Khususnya, kami meninjau:

  • file_get_contents
  • cURL

Dan kami juga membahas fungsi WordPress wp_remote_get.

Dalam artikel ini, kita akan menempatkan wp_remote_get agar berfungsi. Fungsi ini adalah bagian dari HTTP API - untuk penggunaan praktis dengan menggunakannya untuk mengambil dua hal berikut:

  1. Jumlah pengikut yang kami miliki di Twitter
  2. Tweet terbaru kami

Yang menyenangkan adalah kita tidak perlu menggunakan mekanisme OAuth atau otentikasi apa pun, dan kita hanya perlu memanfaatkan tanggapan Twitter dan fungsi JSON PHP.

Jadi dalam artikel ini, kita akan melihat secara praktis bagaimana melakukan hal ini, kemudian kita akan mengakhiri seri ini meninjau semua informasi yang dikembalikan oleh wp_remote_get sehingga kita akan tahu bagaimana cara menanganinya dengan benar di pekerjaan yang akan datang .


Persiapkan Direktori Plugin

Seperti halnya semua plugin, hal pertama yang perlu kita lakukan adalah membuat direktori di direktori wp-content/plugins kami. Untuk keperluan demo ini, kami akan memanggil plugin kami Twitter Demo.

Jadi, beri nama direktori plugin twitter-demo dan file plugin terkait twitter-demo.php.

Twitter DemoTwitter DemoTwitter Demo

Selanjutnya, kita perlu melanjutkan dan mematikan tajuk plugin sehingga WordPress dapat mendeteksi file plugin, jadi mari kita lakukan sekarang.


Menghentikan Plugin

Pertama, letakkan kode berikut di header file twitter-demo.php:

Perhatikan bahwa kami tidak akan menginternasionalkan plugin ini. Kami telah membahas topik ini di pos lain dan ini adalah sesuatu yang berada di luar cakupan dari apa yang kami coba lakukan di artikel ini.

Pada titik ini, Anda harus dapat melihat plugin yang ditampilkan di dashboard plugin instalasi WordPress Anda. Anda dapat mengaktifkannya; Namun, itu tidak akan benar-benar melakukan apa pun.

Setidaknya, belum.


Membawa Plugin ke Kehidupan

Seperti plugin demo lainnya yang saya publikasikan di sini, saya pikir penting untuk terlebih dahulu menguraikan apa yang akan dilakukan plugin sebelum kita mendapatkan kode.

Karena itu, inilah yang bisa kita harapkan:

  • Di bagian bawah setiap posting, kami akan menampilkan pemberitahuan kecil yang berbunyi: Saya memiliki X jumlah pengikut di Twitter. Tweet terakhir saya adalah Y.
  • Kami akan memastikan untuk melakukan ini hanya pada halaman posting tunggal sehingga itu tidak ditampilkan pada indeks utama atau halaman arsip.

Tentu, itu sedikit menjengkelkan menampilkan ini di bagian bawah posting, tetapi ingat bahwa tujuan dari plugin ini adalah untuk menunjukkan bagaimana menggunakan wp_remote_get, bagaimana mem-parsing tanggapan dari Twitter, dan bagaimana menampilkannya.

Kami tidak terlalu peduli dengan tempat konten ditampilkan.

Jadi, mari kita lanjutkan kelas yang akan menyediakan fungsi ini.

1.Menghentikan kelas Demo Twitter

Sebelum melakukan apa pun, mari kita bahas kelas yang akan kami gunakan untuk membuat permintaan ke Twitter. Saya telah menyertakan semua kode di bawah ini bersama dengan dokumentasi untuk setiap atribut dan metode.

Perhatikan bahwa kami akan mengisi sisa metode ini saat kami pergi, dan saya juga akan memiliki kode sumber lengkap dari plugin di akhir artikel.

Sebelum kita melangkah lebih jauh, saya ingin menunjukkan bahwa kita akan menggunakan Pola Singleton untuk plugin ini. Kami telah membahas pola desain ini di artikel sebelumnya, dan meskipun kelebihannya berada di luar cakupan artikel ini, saya sarankan membaca artikel terkait untuk memastikan bahwa Anda sepenuhnya grok mengapa kami menyiapkan plugin kami dengan cara ini.

Selanjutnya, mari kita lihat fungsi-fungsi yang telah kita susun sehingga kita tahu persis ke mana kita menuju:

  • Konstruktor adalah di mana kami akan menambahkan tindakan untuk menambahkan informasi Twitter kami ke satu posting
  • display_twitter_information akan digunakan untuk merender pesan di bagian bawah posting
  • make_twitter_request sebenarnya akan meminta dan mengembalikan data dari Twitter (atau null jika permintaan gagal)
  • get_follower_count akan mengembalikan jumlah pengikut untuk pengguna yang ditentukan (atau -1 jika ada masalah)
  • get_last_tweet akan mengembalikan tweet terakhir dari pengguna atau pesan jika plugin gagal

Cukup jelas? Pada titik ini, mari bekerja meminta informasi dari Twitter sehingga kami dapat memprosesnya.

2. Meminta Data Dari Twitter

Pertama, mari isi fungsi make_twitter_request dengan kode berikut. Perhatikan bahwa saya akan menjelaskannya setelah kode:

Di baris pertama kode kami mengambil keuntungan dari wp_remote_get untuk membuat permintaan kami. Perhatikan bahwa kami menggunakan parameter $username untuk mengambil umpan JSON pengguna. Perhatikan betapa sederhananya membuat permintaan menggunakan fungsi wp_remote_get.

Nama pengguna ini diteruskan dari fungsi berbeda yang akan kita lihat sebentar lagi.

Selanjutnya, perhatikan bahwa kami membungkus kode dalam try/catch (percobaan / tangkapan). Ini karena permintaan ke Twitter berpotensi gagal. Jika tidak gagal, maka kita akan menggunakan fungsi json_decode PHP untuk memecahkan kode badan respon; jika tidak, kami akan menetapkan respons yang sama dengan null.

Ini akan membuat mudah bersyarat dalam fungsi panggilan.

Sebelum kita melangkah lebih jauh, penting untuk dicatat bahwa ada pengambilalihan yang halus di sini: Perhatikan bahwa kita telah memecahkan kode kunci 'body' dari susunan $response yang dikembalikan. Bagi Anda yang lebih ingin tahu tentang ini, kita akan melihat lebih rinci respon yang muncul ketika menggunakan wp_remote_get di artikel berikutnya.

Untuk saat ini, cukup perhatikan bahwa indeks body dari array $response hanyalah salah satu bagian dari informasi yang kami miliki.

3. Panggilan Ke Fungsi Permintaan

Sekarang kita telah mendefinisikan fungsi yang bertanggung jawab untuk membuat permintaan ke Twitter, mari kita mendefinisikan fungsi yang akan meminta data dari Twitter kemudian menampilkannya di bawah konten posting.

Sekali lagi, inilah kode yang akan saya jelaskan dengan tepat apa yang dilakukannya:

Pertama, ketahuilah bahwa ini adalah fungsi terpanjang di seluruh plugin. Jika Anda bisa menyaring ini, Anda baik untuk pergi.

Ingat: Fungsi ini adalah apa yang akan dipanggil selama aksi the_content yang akan ditentukan di konstruktor kami setelah plugin selesai sepenuhnya.

Dengan demikian, fungsi pertama memeriksa untuk melihat apakah kita berada di satu posting. Jika tidak, maka hanya akan mengembalikan konten; jika tidak, ia melakukan hal-hal berikut:

  • Berusaha membuat permintaan ke Twitter
  • Jika permintaan gagal, maka akan muncul pesan yang menyatakan demikian
  • Jika tidak, jika akan mencetak pesan yang menampilkan jumlah pengikut dan tweet terakhir orang itu pergi
  • Ini akan menambahkan pesan ke konten posting

Catatan penting: Dalam fungsi ini, Anda menetapkan nama pengguna yang ingin Anda ambil informasinya. Sebagai contoh, perhatikan bahwa saya mencoba mengambil informasi untuk @WPTuts dengan memanggil $this-> make_twitter_request ('wptuts').

4. Baca Informasi

Pada titik ini, kami siap untuk membaca informasi dan menggabungkan string ke dalam pesan kami untuk ditampilkan kepada pengguna. Kami akan melakukan ini dengan menggunakan metode get_follower_count dan get_last_tweet.

Karena metode ini sangat mirip, kita akan melihat keduanya dan kemudian saya akan menjelaskannya setelah kode:

Perhatikan bahwa kedua fungsi itu serupa karena keduanya menerima data $json dari sebelumnya di plugin. Selanjutnya, mereka berdua menggunakan operator terner untuk menentukan apakah mereka harus mengembalikan teks yang diminta atau pesan default.

Dengan kata lain, jika kita ingin menampilkan followers_count dan nilainya lebih besar dari -1, maka kita tahu kita memiliki nilai untuk ditampilkan, jadi kita akan mengembalikannya; jika tidak, kami akan mengembalikan -1 sebagai indikator bahwa nilai tidak ditetapkan dengan benar.

Ini memungkinkan kami untuk melakukan defensif terhadap kode yang mungkin salah saat memproses data.


Plugin Demo Twitter

Seperti yang dijanjikan, berikut kode sumbernya secara lengkap dengan dokumentasi untuk dicocokkan:

Sebenarnya itu relatif sederhana, kan? Bahkan, ada banyak komentar kode karena ada baris kode aktual sehingga plugin itu sendiri sangat kecil.


Kesimpulan

Demo ini menunjukkan betapa mudahnya menggunakan wp_remote_get untuk berinteraksi dengan layanan pihak ketiga, mem-parsing tanggapan mereka, dan mengintegrasikannya ke dalam sebuah plugin. Memang, ini sangat telanjang tulang, tetapi masih membuktikan konsep.

Dalam artikel berikutnya di bagian seri ini, kita akan melihat semua informasi yang dapat kita lewati ke wp_remote_get untuk melihat seberapa fleksibel metodenya. Setelah itu, kami akan melihat detail data respons secara mendetail sehingga kami dapat menulis permintaan yang lebih rumit dan menulis lebih banyak kode defensif, lebih defensif.

Advertisement
Did you find this post useful?
Want a weekly email summary?
Subscribe below and we’ll send you a weekly email summary of all new Code tutorials. Never miss out on learning about the next big thing.
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.