Rumah >Tutorial CMS >WordTekan >Membuat titik akhir tersuai untuk API REST WordPress
Tutorial ini menunjukkan mewujudkan titik akhir API REST WordPress adat. Kami akan membina tema kanak -kanak "Twenty Seventeen" untuk menambah fungsi ini, kemudian mendaftarkan titik akhir API adat kami. API REST WordPress melangkaui laluan terbina dalamnya; Anda boleh membuat laluan tersuai dan titik akhir menggunakan API yang sama seperti laluan lalai (mis., register_rest_route()
dan kelas WP_Rest_Controller
). Ini membolehkan integrasi WordPress yang lancar dengan sistem lain, meningkatkan keupayaannya sebagai platform pembangunan aplikasi.
titik akhir tersuai boleh dibuat dalam plugin atau tema.
Konsep Utama:
register_rest_route()
dan WP_REST_Controller
digunakan untuk membuat laluan tersuai dan titik akhir, mencerminkan penciptaan laluan lalai. WP_REST_Controller
) disyorkan untuk pengendalian permintaan HTTP yang cekap. Mencipta tema kanak -kanak:
Buat direktori untuk tema anak anda dalam direktori /wp-content/themes
pemasangan WordPress anda. Mari namakannya twentyseventeen-child
.
<code class="language-bash">cd /var/www/html/wp-content/themes mkdir twentyseventeen-child</code>
: style.css
<code class="language-bash">touch style.css</code>
: style.css
<code class="language-css">/* Theme Name: Twenty Seventeen Child Theme description: A child theme of the Twenty Seventeen WordPress theme Author: Ahmed Bouchefra Template: twentyseventeen Version: 1.0.0 */</code>medan
menentukan nama direktori tema induk. Template
penampilan -& gt; Tema dan aktifkan tema anak baru anda.
functions.php
kami akan membuat laluan untuk mendapatkan jawatan terkini untuk ID kategori yang diberikan, boleh diakses melalui:
Pada mulanya, ini akan mengembalikan ralat 404 kerana laluan tidak ditakrifkan.
<code>http://localhost/wp-json/mytwentyseventeentheme/v1/latest-posts/<category_id></category_id></code>
tambahkan kod berikut ke tema anak anda :
<code class="language-bash">cd /var/www/html/wp-content/themes mkdir twentyseventeen-child</code>
ini menggunakan register_rest_route()
dengan:
mytwentyseventeentheme/v1
latest-posts/(?P<category_id>d )</category_id>
GET
kaedah dan panggil balik get_latest_posts_by_category()
. ruang nama menghalang konflik laluan antara plugin/tema. (?P<category_id>d )</category_id>
regex mengekstrak id kategori.
Melaksanakan fungsi panggil balik:
Sekarang, tambahkan fungsi ke get_latest_posts_by_category()
: functions.php
<code class="language-bash">touch style.css</code>Ini mengambil semula
, jawatan pertanyaan menggunakan category_id
, mengendalikan kategori kosong dengan get_posts()
, dan mengembalikan WP_Error
. WP_REST_Response
mengakses
http://<your_site_domain>/wp-json/mytwentyseventeentheme/v1/latest-posts/1</your_site_domain>
Atas ialah kandungan terperinci Membuat titik akhir tersuai untuk API REST WordPress. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!