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

A Look at WordPress HTTP API: Contoh Praktis dari wp_remote_post

Scroll to top
Read Time: 6 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_post
A Look at the WordPress HTTP API: Saving Data From wp_remote_post

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

Dalam artikel sebelumnya, kita meninjau artikel sebelumnya mengenai permintaan GET, fasilitas PHP asli untuk membuat permintaan, dan meninjau fungsi WordPress wp_remote_post API bersama dengan argumen yang ditawarkannya.

Dalam artikel ini, kita akan menggunakan wp_remote_post sehingga kita benar-benar dapat melihatnya beraksi. Ingat bahwa ini - seperti wp_remote_post - adalah bagian dari API HTTP yang memiliki fungsi lain yang layak untuk ditinjau.

Tapi, untuk saat ini, kita akan menempatkan wp_remote_post agar berfungsi.

Secara khusus, kita akan melakukan hal berikut:

  • Saat halaman dimuat, kita akan mengirimkan beberapa informasi ke skrip khusus
  • Script akan memeriksa informasi dan mengembalikannya ke halaman kita
  • Kita kemudian akan menampilkan data pada halaman

Tentu, itu sedikit contoh yang dibuat tetapi akan memberi kita pengalaman menciptakan skrip PHP terpisah yang dapat digunakan untuk operasi yang dipicu oleh penggunaan wp_remote_post.

Bagaimanapun, untuk keperluan contoh ini, kita akan menggunakan PHP $_SERVER koleksi untuk login ketika pengguna telah mengirimkan preferensi mereka daripada mengharuskan mereka masuk.

Akhirnya, kode sumber akan tersedia di GitHub dan dapat diakses di akhir seri ini di artikel berikut.

Untuk saat ini, mari kita mulai dengan bekerja pada plugin.


Menghentikan Kelas

Jika Anda sudah mengikuti salah satu artikel saya selama beberapa bulan terakhir, maka Anda tahu bahwa saya penggemar pola singleton, dan bahwa saya biasanya menggunakan boilerplate sama untuk membangun Saya plugin.

Untuk itu, banyak hal ini akan berulang - tidak apa-apa, untuk saat ini. Logika bisnis - atau logika inti - dari plugin adalah apa yang akan berubah, jadi tetap ikuti perkembangannya.

Mempersiapkan Plugin

Di direktori wp-content/plugins Anda, buat direktori bernama wp-remote-post-example karena ini akan menjadi nama plugin kita. Setelah itu, semua file berikut:

  • wp-remote-post-example.php
  • class-wp-remote-post-example.php
  • wp-remote-receiver.php

Di wp-remote-post-example.php, tambahkan kode berikut:

Kemudian, di class-wp-remote-post-example.php tambahkan kode berikut:

Akhirnya, tambahkan baris berikut ke wp-remote-receiver.php:

Perhatikan bahwa kita akan melakukan iterasi melalui daftar data $_POST dan menampilkannya dalam format daftar yang membuatnya mudah dibaca.

Perhatikan bahwa demi ruang, saya meninggalkan komentar kode dari plugin khusus ini. File yang dapat diunduh di GitHub akan sepenuhnya didokumentasikan dan juga akan tersedia di posting berikutnya.

Pada titik ini, Anda harus dapat mengaktifkan plugin; Namun, tidak ada yang benar-benar akan terjadi pada aktivasi selain dari melihat pesan yang sukses.

Ini bagus!

Dapatkan Informasi Permintaan

Pada titik ini, mari kumpulkan informasi yang ingin kita kirim sebagai bagian dari permintaan. Secara khusus, mari kita lakukan hal berikut:

  • Alamat unik pengunjung
  • Alamat homepage untuk blog
  • Alamat halaman yang sedang dikunjungi

Tambahkan baris berikut ke dalam konstruktor (fungsi __construct pribadi, yaitu - bukan fungsi get_instance publik):

Selanjutnya, tambahkan fungsi berikut ke kelas:

Di sini, kita mengambil ID unik dari indeks REMOTE_ADDR dari koleksi $_SERVER, kita meraih URL situs seperti yang didefinisikan oleh WordPress, dan kemudian menyimpan permalink dari halaman saat ini ke dalam variabelnya sendiri.

Buat permintaan

Pada titik ini, kita siap untuk mengajukan permintaan. Ingat dari artikel sebelumnya bahwa ada beberapa informasi yang harus dikirim bersama dengan permintaan:

  • URL
  • Isi dari tubuh (yang akan digunakan sebagai ID Unik, Alamat, dan Halaman Viewed

Cukup mudah, kan? 

Jadi mari kita lanjutkan memperbarui fungsi kita di atas dengan blok kode berikut sehingga fungsinya sekarang terlihat seperti ini:

Pada titik ini, Anda harus dapat memuat ulang halaman meskipun Anda tidak akan selalu melihat sesuatu terjadi.

Meski begitu, tidak ada yang terlalu rumit, kan? 

Tampilkan Hasil

Pada titik ini, dengan asumsi semuanya terhubung dengan benar, sekarang kita dapat menampilkan hasilnya.

Untuk melakukan ini, kita harus memeriksa dulu apakah ada kesalahan, kemudian menampilkan pesan jika demikian; jika tidak, kita akan menampilkan hasil permintaan posting.

Tambahkan berikut bersyarat untuk fungsi di atas langsung di bawah panggilan wp_remote_post:

Perhatikan bahwa kita memilih untuk menambahkan beberapa HTML berdasarkan respons yang akan ditampilkan di bagian bawah pos.


Versi Pekerjaan Saat Ini

Pada titik ini, versi kerja plugin yang sekarang akan terlihat seperti ini:

Pada posting berikutnya, dan terakhir dalam seri ini, kami akan berusaha membuat informasi yang ditambahkan ke bagian bawah posting terlihat sedikit lebih rapi melalui penggunaan LESS untuk CSS hanya untuk mendapatkan pengalaman dengan itu, dan untuk terus meningkatkan cara plugin terlihat.

Kita juga akan memastikan bahwa plugin sepenuhnya didokumentasikan dan tersedia di GitHub untuk ditinjau lebih lanjut.

Sampai saat itu, bermain-main dengan apa yang telah kita bahas di sini dan kita akan memiliki lebih banyak untuk dibagikan dalam artikel terakhir.

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.