Rumah > Tutorial CMS > WordTekan > Menambah laluan tersuai ke API REST WordPress

Menambah laluan tersuai ke API REST WordPress

Lisa Kudrow
Lepaskan: 2025-02-09 10:44:09
asal
921 orang telah melayarinya

Adding Custom Routes to the WordPress REST API

Routing Custom API WordPress REST: Alat yang berkuasa untuk memperluaskan ciri API

Artikel ini meneroka keupayaan penghalaan tersuai API REST WordPress dan menunjukkan cara membuat penyelesaian API yang disesuaikan. Routing Custom menyediakan lebih banyak kawalan berbutir dan berskala daripada menggunakan penghalaan lalai sahaja.

mata teras:

    API REST WordPress sangat disesuaikan, membolehkan pemaju menambah laluan dan titik akhir untuk memenuhi keperluan khusus.
  • Gunakan fungsi
  • dan menggabungkan tindakan register_rest_route() untuk menambah laluan tersuai. Anda perlu menentukan ruang nama, laluan penghalaan, dan pelbagai titik akhir yang mengandungi kaedah, fungsi panggilan balik, dan maklumat kebenaran. rest_api_init
  • Titik akhir boleh menentukan kaedah HTTP tertentu (GET, POST, PUT, DELETE) dan tentukan medan data yang diterima, nilai lalai, pembersihan dan peraturan pengesahan.
  • Fungsi panggil balik kebenaran di titik akhir memastikan bahawa hanya permintaan kebenaran dapat mengakses laluan, meningkatkan keselamatan dengan memeriksa kebenaran pengguna atau menyesuaikan kaedah kebenaran.
  • Routing dan titik akhir adat menyediakan cara yang lebih berstruktur dan selamat untuk memperluaskan API REST WordPress, dengan tepat mengawal input dan output data, menjadi alat yang berkuasa bagi pemaju untuk meningkatkan projek WordPress.
di luar laluan lalai: Membina kemungkinan tak terhingga

Kebanyakan perbincangan mengenai API REST WordPress memberi tumpuan kepada pertanyaan laluan lalai, yang menjadikannya kelihatan seperti API tunggal, seperti API Twitter. Walau bagaimanapun, API REST WordPress bukan API tunggal, tetapi koleksi berjuta -juta API yang sangat disesuaikan yang juga boleh digunakan sebagai alat untuk membina API. Routing lalai adalah penyelesaian kompromi untuk banyak keperluan tapak, dan tidak semua tugas dapat disiapkan dengan penghalaan lalai sahaja.

Sama seperti WordPress bukan sekadar objek WP_Query global, API REST bukan sekadar API lalai. Menggunakan penghalaan lalai adalah seperti tidak pernah membuat objek WP_Query anda sendiri dalam projek WordPress tradisional, atau mengatasi pertanyaan lalai dalam

. Walaupun mungkin, tidak semua kerja boleh dilakukan semata -mata secara lalai routing URL WordPress.

Begitu juga dengan API REST . Ryan McCue, pemaju bersama REST API, menyebut bahawa versi kedua projek dibahagikan kepada dua bahagian: routing lalai dan infrastruktur yang mewujudkan API yang tenang. Routing lalai memberikan contoh yang baik untuk membuat laluan tersuai. pre_get_posts

Tambahkan laluan:

fungsi

register_rest_route() REST API Edisi Kedua memperkenalkan fungsi baru yang dipanggil yang membolehkan menambah laluan ke API REST dan lulus dalam pelbagai titik akhir. Untuk setiap titik akhir, bukan sahaja ia disediakan untuk mengendalikan permintaan itu, tetapi ia juga boleh menentukan bidang yang diperlukan dalam pertanyaan, termasuk nilai lalai, panggilan balik bersih dan pengesahan, dan panggil balik kebenaran berasingan.

Artikel ini akan memberi tumpuan kepada tiga aspek: fungsi panggil balik, parameter medan, dan pemeriksaan kebenaran. Muat Turun (EDD) -Driven laman web e-dagang.

Tetapkan laluan: ruang nama dan laluan laluan

Apabila menentukan laluan tersuai, gunakan fungsi

dalam tindakan rest_api_init. Fungsi ini menerima empat parameter: register_rest_route()

  1. ruang nama: Semua laluan mesti dinamakan spatialized sebagai segmen URL seterusnya selepas "WP-JSON". Ruang nama laluan lalai ialah . Ruang nama mengelakkan konflik penghalaan. wp

  2. laluan laluan: url selepas ruang nama. Sebagai contoh, "/produk" atau "/produk/(?

  3. Arahan Endpoint:

    Tentukan titik akhir laluan, termasuk kaedah, fungsi panggil balik, parameter, dll.

  4. Parameter (pilihan): nilai boolean untuk mengendalikan konflik dengan laluan yang ditetapkan. Lalai adalah override, cuba menggabungkan laluan; false true

  5. Tetapkan endpoints: Kaedah dan medan

titik akhir perlu menentukan satu atau lebih kaedah pengangkutan HTTP (mendapatkan/pos/put/padam). Kaedah boleh ditakrifkan menggunakan pemalar dalam kelas , seperti

(hanya mendapatkan permintaan dibenarkan) atau

(semua kaedah dibenarkan). WP_REST_Server WP_REST_Server::READABLE Apabila menentukan medan, anda boleh menentukan nilai lalai medan, membersihkan fungsi panggil balik, dan lain -lain. Ini membolehkan fungsi panggil balik mempercayai data yang diterima. WP_REST_Server::ALLMETHODS Fungsi panggilan balik dan fungsi panggilan balik balik

Fungsi panggil balik untuk setiap titik akhir (ditentukan dalam kekunci

) adalah kaedah permintaan akan dihantar ke (jika fungsi panggil balik kebenaran berlalu). Fungsi panggil balik kebenaran (ditentukan dalam kekunci ) memeriksa sama ada pengguna semasa mempunyai kebenaran untuk mengakses titik akhir.

memproses dan bertindak balas terhadap permintaan callback permission_callback Fungsi callback

menerima objek

, dan boleh menggunakan kaedah untuk mendapatkan parameter yang dibersihkan dan disahkan. Anda boleh menggunakan fungsi untuk membuat objek

untuk memastikan bahawa respons adalah dalam format JSON yang betul dan memasukkan tajuk yang diperlukan.

WP_REST_Request get_params() ringkasan: API adat, kemungkinan tanpa had rest_ensure_response() WP_REST_Response

Routing lalai API REST WordPress sangat berguna, tetapi penghalaan tersuai memberikan lebih banyak kawalan dan skalabilitas. Mewujudkan laluan tersuai adalah penyelesaian yang berkesan apabila laluan lalai gagal memenuhi keperluan.

Atas ialah kandungan terperinci Menambah laluan tersuai ke API REST WordPress. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan