Saya memiliki situs WordPress.org yang mengambil input pengguna, mencari basis data khusus dan menampilkan hasil kueri. Saya memiliki ini berfungsi menggunakan kelas wpdb . Sekarang saya mencoba membuatnya berfungsi untuk aplikasi android.
Dari apa yang saya mengerti, membangun server yang tenang adalah 'praktik terbaik' saat ini untuk hal semacam ini. Saya telah melihat beberapa plugin yang dapat membantu saya melakukan ini, dan saya telah menemukan:
json-rest-api - Bagi saya ini hanya memperlihatkan fungsionalitas inti WordPress (mis. posting, halaman, pengguna, dll.) dan saya tidak bisa melihat bagaimana mendapatkan ini untuk mengeksekusi query kustom pada tabel non-default.
Posting blog ini mengatakan bahwa wp mvc melakukan apa yang saya inginkan, kecuali itu belum diperbarui dalam lebih dari 2 tahun, sehingga agak mengesampingkan itu.
Ada juga Jetpack tetapi dari apa yang saya lihat, json-rest-api adalah versi terbaru dari ini dan sepertinya hanya memberikan fungsionalitas inti juga.
Apakah ada cara untuk membuat plugin ini berfungsi untuk titik akhir khusus? Atau ada plugin lain yang belum saya temukan?
Jika saya tidak menggunakan plugin, saya pikir saya harus roll sendiri. Saya dapat melakukan ini dari awal (menggunakan wpdb
, msqli
atau sesuatu), atau dengan bantuan API seperti Restler .
Jika saya melakukan roll sendiri, haruskah saya membuat template di tema saya, lakukan hal-hal REST di sana dan menetapkan tema itu ke halaman di dalam dasbor? Atau lebih baik memiliki server lain yang berjalan terpisah untuk WordPress untuk ini?
Sejauh yang saya bisa lihat, ini adalah satu-satunya pilihan saya. Saya ingin tahu praktik apa yang direkomendasikan untuk hal semacam ini. Saya merasa sulit untuk percaya bahwa tidak ada orang lain yang melakukan ini. Apakah ada opsi yang saya abaikan?
Jawaban:
TL; DR
Ya, WordPress tentu dapat bertindak sebagai backend untuk aplikasi seluler. Ya, sebuah halaman dapat bertindak sebagai titik akhir / antarmuka lainnya. Tidak, templat tema bukan wilayah yang tepat untuk logika. Tulis plugin Anda sendiri.
Pointer
Saya, untuk satu, punya. Lebih dari sekali. Dan saya yakin saya tidak sendirian. "Tidak ada yang punya banyak blog tentang hal itu" mungkin adalah gagasan yang lebih benar.
Saya tidak tahu "Restler" dan itu di luar jangkauan pada tumpukan ini.
Sejauh "menggunakan wpdb, msqli atau sesuatu" yang bersangkutan: Anda tentu akan menggunakan
wpdb
untuk menyimpan (menerima) data ke database, tetapi itu tidak berkaitan dengan logika titik akhir.Template tema bukanlah yang harus Anda perhatikan. Tema dimaksudkan untuk presentasi visual. Titik akhir REST tidak memerlukan tampilan visual sama sekali.
Masukkan titik akhir ke halaman yang ingin Anda gunakan melalui kode pendek .
Mintalah penangan kode pendek / panggilan balik mendengarkan HTTP POST atau GET dan meminta penyimpanan data atau metode sekunder lainnya sesuai.
Apakah masuk akal untuk menggunakan WordPress sebagai titik akhir / backend?
Tergantung.
Jika semua yang Anda butuhkan adalah titik akhir untuk menyimpan data: Tidak. Memuat seluruh inti hanya untuk menyimpan beberapa baris kode dengan menggunakan
wpdb
tidak layak.Jika Anda memerlukan backend yang dapat login melalui browser web, yang dapat menampilkan data tabular, menawarkan cara untuk mengubah data tersebut, bahkan mungkin dengan beberapa tingkat akses / peran dan hak pengguna, maka ya, itu masuk akal.
sumber
wpdb
tidak layak".Plugin API Endpoints harus mencakup semua kebutuhan Anda, terutama jika Anda terbiasa dengan MySQL. Anda akan melakukan langkah-langkah berikut:
Buat Ranting Kerangka baru, masukkan kueri MysQL Anda untuk mengambil data dari situs WordPress Anda dan gunakan sintaks Ranting untuk menampilkan data dalam format apa pun. Misalnya, JSON.
Buat titik akhir API baru, berikan nama dan konfigurasikan untuk menggunakan Kerangka Templat yang Anda buat pada langkah 1.
Setelah selesai, ulangi langkah 1 dan 2 untuk setiap titik akhir yang ingin Anda buat. API Endpoint menggunakan sistem otentikasi WordPress standar, jadi akan lebih baik untuk membuat pengguna terpisah di WordPress Anda dan menggunakan nama pengguna / kata sandi untuk mengakses titik akhir api Anda.
sumber
Versi baru WP REST API adalah dalam Beta, tetapi memiliki dokumentasi yang cukup bagus tentang cara mendaftar titik akhir REST khusus. Ada juga uraian kecil tentang bagaimana hal itu dapat dilakukan dalam versi 1, yang akan saya coba sejak beta tidak dijamin menjadi atau tetap stabil. Saya berasumsi Anda kemudian dapat menggunakan wpdb dari dalam metode yang Anda daftarkan. Saya sebenarnya hanya menggunakan hal-hal ACF dan membuatnya menjadi objek di php saya untuk membuat halaman indeks multi-properti yang bagus, dapat dicari / diurutkan dengan angularJS.
Perbandingan Antara WWP REST API 1 dan 2 dari dokumen mereka
sumber