Ini adalah sebahagian daripada siri yang meliputi pelbagai aspek mengintegrasikan data API luaran ke dalam blok WordPress tersuai:
Bekerja dengan API luaran di Blok WordPress
untuk persediaan projek. @wordpress/create-block
npx @wordpress/create-block football-rankings
anda dan mengaktifkannya, kami akan memberi tumpuan kepada fail utama ini: wp-content/plugins
edit.js
index.js
football-rankings.php
cangkuk
edit.js
mengambil data hanya sekali pada beban halaman, menghalang panggilan API yang tidak perlu semasa penyunting blok semula:
useEffect
Penyimpanan data di WordPress edit.js
import { useEffect } from "@wordpress/element"; export default function Edit(props) { // ... (rest of the code remains largely unchanged) useEffect(() => { // ... (fetch code using RapidAPI key and host) .then( ( response ) => response.json() ) .then( ( response ) => { setAttributes( { data: response } ); //Simplified data assignment }) .catch((err) => console.error(err)); }, []); // ... (rest of the code remains largely unchanged) }
index.js
Ini memastikan WordPress menyimpan data API dalam pangkalan data. data
registerBlockType( metadata.name, { // ... attributes: { data: { type: "object", }, }, // ... } );
Kami akan membuat
dan enqueues aset ini menggunakan frontend.js
dan frontend.css
hanya apabila tidak dalam konteks admin (frontend.scss
). Fungsi football-rankings.php
dalam wp_enqueue_script
melepasi atribut ke javascript depan. wp_enqueue_style
!is_admin()
render_callback
fail football-rankings.php
(dipermudahkan):
npx @wordpress/create-block football-rankings
gaya dalam frontend.scss
atau frontend.css
bertanggungjawab untuk pembentangan visual data. Bahagian package.json
scripts
fail hendaklah dikemas kini untuk memasukkan fail frontend dalam proses binaan.
Demo lengkap dan gaya terperinci boleh didapati dalam artikel asal. Tanggapan yang disemak ini memberikan gambaran ringkas mengenai langkah -langkah utama dan coretan kod.
Atas ialah kandungan terperinci Memberi data API luaran di blok WordPress di hujung depan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!