Blok Gutenberg yang dinamik menggunakan rendering sisi pelayan untuk memaparkan kandungan terkini setiap kali ia dimuatkan. Tidak seperti blok statik, blok dinamik melaksanakan kod PHP apabila halaman dimuatkan, yang membolehkan data masa nyata seperti jawatan terkini atau kandungan khusus pengguna. Langkah -langkah utama termasuk: 1) Menyediakan struktur blok asas dengan block.json, edit.js, save.js, dan fail render php; 2) mendaftarkan blok dengan render_callback dalam php; 3) menjana output dinamik menggunakan atribut yang diluluskan dari editor; dan 4) mengendalikan input pengguna melalui kawalan dalam edit.js yang mengemas kini atribut blok yang digunakan dalam pertanyaan PHP. Pendekatan ini memastikan fleksibiliti dan data hidup tanpa mengorbankan keserasian dengan editor blok.
Membina blok Gutenberg yang dinamik tidak terlalu berbeza daripada membuat blok biasa, tetapi ia menambah sentuhan penyampaian sisi pelayan. Jika anda mahu blok anda menarik data segar setiap kali ia dilihat-seperti jawatan terkini atau kandungan khusus pengguna-inilah yang anda perlukan.
Apa yang menjadikan blok "dinamik"
Blok dinamik tidak menyimpan outputnya sebagai HTML statik di dalam kandungan pos. Sebaliknya, ia menjalankan kod PHP setiap kali jawatan dimuatkan, membiarkannya menunjukkan maklumat terkini. Ini berguna untuk perkara seperti:
- Widget jawatan terkini
- Memaparkan profil pengguna
- Mengira komen langsung
Di hujung depan, bukannya melihat HTML mentah dalam kandungan pos, kedai WordPress hanya metadata blok dan atribut. Markup sebenar akan dihasilkan apabila halaman dimuatkan, bukan apabila anda mengeditnya.
Menyediakan struktur blok anda
Mulakan dengan membuat blok asas menggunakan sama ada pakej @wordpress/create-block
atau secara manual menubuhkan block.json
anda. Sama ada cara, perbezaan utama datang kemudian bagaimana anda mendaftarkan panggilan balik blok.
Inilah yang biasanya anda sertakan:
- Fail
block.json
yang mentakrifkan metadata (nama, tajuk, kategori, dan lain -lain) - Fail
edit.js
untuk antara muka editor - Fail
save.js
-Walaupun ia mengembalikan batal, kerana kandungan sebenar akan diberikan pelayan pelayan - Fail php di mana logiknya hidup
Anda tidak perlu menulis semua UI dalam PHP, hanya menentukan apa yang diselamatkan dan bagaimana ia berfungsi apabila diberikan.
Mendaftarkan blok dengan panggilan balik
Di sinilah sihir berlaku. Dalam fail PHP plugin anda, gunakan register_block_type()
dan berikan hujah render_callback
.
daftar_block_type (__dir__, array ( 'render_callback' => 'my_dynamic_block_render_callback', ));
Kemudian tentukan fungsi itu. Ia menerima atribut blok dan harus mengembalikan HTML yang ingin anda paparkan:
fungsi my_dynamic_block_render_callback ($ atribut, kandungan $, $ blok) { // Ambil data dinamik di sini - misalnya, catatan terkini $ terkini_posts = get_posts (array ('numberPosts' => 3)); $ output = '<ul>'; foreach ($ terkini_posts sebagai $ post) { $ output. = '<li> <a href = "'. get_permalink ($ post). '">'. $ post-> post_title. '</a> </li>'; } $ output. = '</ul>'; pulangan $ output; }
Nota: Anda juga boleh lulus data dari PHP ke JavaScript melalui wp_localize_script
, terutamanya jika blok anda memerlukan interaktiviti sisi klien selepas memuatkan.
Mengendalikan atribut dan input pengguna
Walaupun output akhir dibina di pelayan, pengguna masih menetapkan pilihan dalam editor - seperti berapa banyak item yang akan ditunjukkan atau kategori mana yang hendak ditarik.
Jadi dalam fail edit.js
anda, buat kawalan menggunakan komponen seperti TextControl
, SelectControl
, atau RangeControl
. Atribut blok kemas kini ini, yang kemudiannya dimasukkan ke dalam fungsi PHP anda.
Contohnya:
- Tambahkan atribut
count
diblock.json
anda - Gunakan
RangeControl
di editor untuk membolehkan pengguna memilih berapa banyak jawatan yang ditunjukkan - Dalam PHP, baca
$attributes['count']
dan gunakannya dalam pertanyaan anda
Dengan cara itu, segala-galanya tetap fleksibel tanpa memerlukan penambahan halaman penuh atau panggilan Ajax hanya untuk pratonton perubahan.
Sebaik sahaja semuanya berwayar, blok dinamik anda berfungsi seperti yang lain - hanya lebih pintar. Ia dikemas kini berdasarkan data masa nyata, sementara masih bermain dengan baik dengan editor blok. Itu pada dasarnya. Tidak terlalu buruk apabila anda mendapat aliran ke bawah.
Atas ialah kandungan terperinci Cara Membina Blok Gutenberg Dinamik. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undress AI Tool
Gambar buka pakaian secara percuma

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Untuk melancarkan versi WordPress, anda boleh menggunakan pemalam atau secara manual menggantikan fail teras dan melumpuhkan kemas kini automatik. 1. Gunakan WPdowngrade dan plug-in lain untuk memasukkan nombor versi sasaran untuk memuat turun dan menggantikan secara automatik; 2. Muat turun secara manual versi lama WordPress dan menggantikan WP-termasuk, WP-Admin dan fail lain melalui FTP, tetapi mengekalkan WP-Config.php dan WP-Content; 3. Tambah kod dalam WP-config.php atau gunakan penapis untuk melumpuhkan kemas kini automatik teras untuk mengelakkan peningkatan lebih lanjut. Pastikan anda menyandarkan laman web dan pangkalan data sebelum operasi untuk memastikan keselamatan dan kebolehpercayaan. Adalah disyorkan untuk menyimpan versi terkini untuk sokongan keselamatan dan fungsi dalam jangka panjang.

Langkah-langkah untuk membuat kod shortcode tersuai di WordPress adalah seperti berikut: 1. Tulis fungsi PHP melalui fail.php Fungsi atau pemalam adat; 2. Gunakan add_shortcode () untuk mengikat fungsi ke tag shortcode; 3. Parameter proses dalam fungsi dan mengembalikan kandungan output. Sebagai contoh, apabila membuat kod pendek butang, anda boleh menentukan warna dan pautan parameter untuk konfigurasi fleksibel. Semasa menggunakannya, anda boleh memasukkan tag seperti [ButtonColor = "Red" url = "https://example.com"] dalam editor, dan anda boleh menggunakan do_shortcode () untuk memodelkannya

Sebab-sebab utama mengapa WordPress menyebabkan lonjakan dalam penggunaan CPU pelayan termasuk masalah pemalam, pertanyaan pangkalan data yang tidak cekap, kualiti kod tema yang buruk, atau lonjakan trafik. 1. 2. Masukkan mod penyelesaian masalah untuk secara beransur-ansur membolehkan pemalam untuk menyelesaikan masalah kesesakan prestasi, gunakan QueryMonitor untuk menganalisis pelaksanaan pemalam dan memadam atau menggantikan pemalam yang tidak cekap; 3. Pasang pemalam cache, bersihkan data berlebihan, menganalisis log pertanyaan perlahan untuk mengoptimumkan pangkalan data; 4. Periksa sama ada topik itu mempunyai masalah seperti kandungan beban, pertanyaan kompleks, atau kekurangan mekanisme caching. Adalah disyorkan untuk menggunakan ujian topik standard untuk membandingkan dan mengoptimumkan logik kod. Ikuti langkah -langkah di atas untuk memeriksa dan menyelesaikan lokasi dan selesaikan masalah satu demi satu.

Kaedah untuk mengoptimumkan tapak WordPress yang tidak bergantung pada pemalam termasuk: 1. Gunakan tema ringan, seperti Astra atau GeneratePress, untuk mengelakkan tema tumpukan; 2. Secara manual memampatkan dan menggabungkan fail CSS dan JS untuk mengurangkan permintaan HTTP; 3. Mengoptimumkan imej sebelum memuat naik, gunakan format web dan saiz fail kawalan; 4. Configure.htaccess untuk membolehkan cache penyemak imbas, dan sambungkan ke CDN untuk meningkatkan kelajuan pemuatan sumber statik; 5. Hadkan semakan artikel dan data yang kerap dibersihkan data yang berlebihan.

Fail JavaScript Minive boleh meningkatkan kelajuan memuatkan laman web WordPress dengan mengeluarkan kosong, komen, dan kod yang tidak berguna. 1. Gunakan pemalam cache yang menyokong penggabungan mampatan, seperti w3totalcache, aktifkan dan pilih mod mampatan dalam pilihan "Minify"; 2. Gunakan plug-in mampatan khusus seperti fastvelocityminify untuk memberikan lebih banyak kawalan berbutir; 3. Secara manual memampatkan fail JS dan memuat naiknya melalui FTP, sesuai untuk pengguna yang biasa dengan alat pembangunan. Perhatikan bahawa beberapa tema atau skrip plug-in mungkin bertentangan dengan fungsi mampatan, dan anda perlu menguji fungsi laman web dengan teliti selepas pengaktifan.

Transientsapi adalah alat terbina dalam di WordPress untuk menyimpan data tamat tempoh automatik sementara. Fungsi terasnya adalah set_transient, get_transient dan delete_transient. Berbanding dengan OptionsAPI, transien menyokong penetapan masa kelangsungan hidup (TTL), yang sesuai untuk senario seperti hasil permintaan API cache dan data pengkomputeran yang kompleks. Apabila menggunakannya, anda perlu memberi perhatian kepada keunikan penamaan utama dan ruang nama, mekanisme "penghapusan malas" cache, dan isu yang mungkin tidak bertahan dalam persekitaran cache objek. Senario aplikasi biasa termasuk mengurangkan kekerapan permintaan luaran, mengawal irama pelaksanaan kod, dan meningkatkan prestasi pemuatan halaman.

Cache objek membantu penyimpanan berterusan, sesuai untuk akses yang tinggi dan kemas kini yang rendah, mentolerir data yang hilang jangka pendek. 1. Data yang sesuai untuk "kegigihan" dalam cache termasuk konfigurasi pengguna, maklumat produk popular, dan lain -lain, yang boleh dipulihkan dari pangkalan data tetapi boleh dipercepat dengan menggunakan cache. 2. Pilih backend cache yang menyokong kegigihan seperti REDIS, membolehkan mod RDB atau AOF, dan konfigurasikan dasar tamat tempoh yang munasabah, tetapi ia tidak dapat menggantikan pangkalan data utama. 3. Tetapkan TTL Long atau tidak pernah tamat tempoh, mengamalkan struktur nama kunci yang jelas seperti pengguna: 1001: profil, dan kemas kini cache serentak apabila mengubah suai data. 4. Ia boleh menggabungkan cache tempatan dan diedarkan untuk menyimpan data kecil tempatan dan besar data redis untuk menyimpan data besar dan menggunakannya untuk pemulihan selepas dimulakan semula, sambil memberi perhatian kepada isu konsistensi dan penggunaan sumber.

Cara yang paling berkesan untuk mengelakkan spam komen adalah untuk mengenal pasti dan memintasnya secara automatik melalui cara programatik. 1. Menggunakan mekanisme kod pengesahan (seperti Googler Captcha atau HCaptcha) untuk membezakan secara berkesan antara manusia dan robot, terutama yang sesuai untuk laman web awam; 2. Tetapkan bidang tersembunyi (teknologi honeypot), dan gunakan robot untuk mengisi ciri -ciri secara automatik untuk mengenal pasti komen spam tanpa menjejaskan pengalaman pengguna; 3. Semak senarai hitam Kata Kunci Kandungan Komen, maklumat spam penapis melalui pemadanan kata yang sensitif, dan perhatikan untuk mengelakkan salah faham; 4. Hakim kekerapan dan sumber IP komen, hadkan bilangan penyerahan per unit masa dan buat senarai hitam; 5. Gunakan perkhidmatan anti-spam pihak ketiga (seperti Akismet, CloudFlare) untuk meningkatkan ketepatan pengenalan. Boleh berdasarkan laman web
