Rumah > Tutorial CMS > WordTekan > Membuat titik akhir tersuai untuk API REST WordPress

Membuat titik akhir tersuai untuk API REST WordPress

尊渡假赌尊渡假赌尊渡假赌
Lepaskan: 2025-02-09 08:42:10
asal
232 orang telah melayarinya

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:

  • titik akhir API REST Custom WordPress memudahkan integrasi dengan sistem luaran, menjadikan WordPress sebagai platform pembangunan aplikasi yang kuat.
  • Titik akhir ini boleh didaftarkan dalam plugin atau tema; Mewujudkan tema kanak-kanak adalah kaedah yang mudah untuk menambahkan fungsi khusus tema.
  • Kelas register_rest_route() dan WP_REST_Controller digunakan untuk membuat laluan tersuai dan titik akhir, mencerminkan penciptaan laluan lalai.
  • Untuk titik akhir kompleks, corak pengawal (memanjangkan WP_REST_Controller) disyorkan untuk pengendalian permintaan HTTP yang cekap.
  • API REST WordPress adalah bahasa-agnostik, serasi dengan mana-mana bahasa pengaturcaraan yang mampu permintaan dan respons HTTP.

Mencipta tema kanak -kanak:

  1. Buat direktori untuk tema anak anda dalam direktori /wp-content/themes pemasangan WordPress anda. Mari namakannya twentyseventeen-child.

    cd /var/www/html/wp-content/themes
    mkdir twentyseventeen-child
    Salin selepas log masuk
    Salin selepas log masuk

    Creating Custom Endpoints for the WordPress REST API

  2. Buat fail

    : style.css

    touch style.css
    Salin selepas log masuk
    Salin selepas log masuk
  3. tambahkan maklumat pengepala berikut ke

    : style.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
    */
    Salin selepas log masuk
    medan

    menentukan nama direktori tema induk. Template

  4. Dalam panel admin WordPress anda, navigasi ke

    penampilan -& gt; Tema dan aktifkan tema anak baru anda.

    Creating Custom Endpoints for the WordPress REST API

  5. Buat fail
  6. dalam direktori tema kanak -kanak. Di sinilah kami akan menambah kod kami.

    functions.php

Mewujudkan titik akhir WP-API Custom:

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></code>
Salin selepas log masuk

tambahkan kod berikut ke tema anak anda Creating Custom Endpoints for the WordPress REST API :

cd /var/www/html/wp-content/themes
mkdir twentyseventeen-child
Salin selepas log masuk
Salin selepas log masuk

ini menggunakan register_rest_route() dengan:

  • ruang nama: mytwentyseventeentheme/v1
  • Laluan Sumber (dengan Regex untuk Kategori ID): latest-posts/(?P<category_id>d )
  • pilihan: GET kaedah dan panggil balik get_latest_posts_by_category().

ruang nama menghalang konflik laluan antara plugin/tema. (?P<category_id>d ) regex mengekstrak id kategori.

Creating Custom Endpoints for the WordPress REST API

Melaksanakan fungsi panggil balik:

Sekarang, tambahkan fungsi

ke get_latest_posts_by_category(): functions.php

touch style.css
Salin selepas log masuk
Salin selepas log masuk
Ini mengambil semula

, jawatan pertanyaan menggunakan category_id, mengendalikan kategori kosong dengan get_posts(), dan mengembalikan WP_Error. WP_REST_Response

Creating Custom Endpoints for the WordPress REST API mengakses

(ganti dengan domain dan ID kategori anda) kini akan mengembalikan jawatan dari kategori itu.

http://<your_site_domain>/wp-json/mytwentyseventeentheme/v1/latest-posts/1</your_site_domain>

(selebihnya tutorial, yang meliputi sanitisasi, pengesahan, sekatan akses, corak pengawal, dan Soalan Lazim, akan mengikuti struktur yang sama seperti yang asal, tetapi dengan perubahan ungkapan kecil untuk kejelasan dan ketabahan. Kekangan, saya tidak pernah mengulangi bahagian -bahagian tersebut.

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!

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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan