Rumah >Tutorial CMS >WordTekan >Demystifying the WordPress Hook System
Penjelasan terperinci mengenai sistem cangkuk WordPress: tindakan, penapis dan cangkuk
WordPress menggunakan corak seni bina yang didorong oleh peristiwa di mana komponen teras, tema, dan plugin mencetuskan peristiwa melalui cangkuk (cangkuk) pada tahap pelaksanaan atau tafsiran PHP yang berlainan. Cangkuk terutamanya dibahagikan kepada tindakan dan penapis: Tindakan digunakan untuk menambah atau mengeluarkan fungsi pada tahap pelaksanaan proses yang berlainan;sistem cangkuk WordPress meningkatkan skalabilitas platform, yang membolehkan ciri -ciri ditambah, dikeluarkan, dan diubahsuai dalam kod teras, plugin, dan tema, jadi pemaju boleh memanjangkan plugin dan tema tanpa mengubah suai kod sumber teras.
Sistem cangkuk dicetuskan pada tahap pelaksanaan WordPress yang berlainan, dan biasanya digunakan dengan fungsi
dan do_actions()
PHP. Peristiwa -peristiwa ini boleh dilanggan atau dipasang melalui apply_filters()
dan add_action()
. Artikel ini akan menunjukkan bagaimana tindakan dan penapis digunakan melalui contoh. add_filter()
makna cangkuk, tindakan dan penapis
cangkuk merujuk kepada peristiwa yang dicetuskan oleh teras WordPress, tema, dan plugin pada tahap yang berlainan pelaksanaan PHP atau tafsiran. Apabila peristiwa -peristiwa ini dicetuskan, semua fungsi dan/atau kaedah kelas yang dipasang pada peristiwa -peristiwa ini akan dilaksanakan dalam urutan yang betul.Tindakan dan penapis adalah dua jenis cangkuk: Tindakan digunakan untuk menambah atau menghapuskan fungsi pada tahap pelaksanaan proses yang berlainan;
kepentingan sistem cangkuk wordpress
Kepentingan sistem cangkuk WordPress terletak pada skalabilitasnya. Ia membolehkan menambah dan mengeluarkan ciri -ciri, serta tweaking/mengubahsuai pelaksanaan ciri -ciri dalam teras WordPress, plugin, dan tema.Menulis plugin dan tema yang boleh dilanjutkan yang membolehkan pemaju lain memperbaiki dan memperluaskannya tanpa mengedit kod sumber teras.
Sebagai contoh, plugin Gateway Pembayaran Woocommerce 2Checkout saya tidak termasuk ikon yang menunjukkan jenis kad kredit yang disokong pada halaman checkout, kerana saya fikir ini tidak perlu. Walau bagaimanapun, saya menambah penapis sekiranya pengguna mempunyai keperluan yang berbeza.
kami menerima permintaan sokongan pelanggan agar ikon dimasukkan. Kami dapat menyediakan pelanggan dengan coretan kod yang cangkuk ke penapis dan mengandungi ikon.
Perbincangan mendalam mengenai Sistem Hook WordPress
Pada tahap pelaksanaan WordPress yang berlainan, sejumlah besar peristiwa dicetuskan, dan fungsi dan
php biasanya digunakan. Peristiwa -peristiwa ini boleh dilanggan atau dipasang melalui dan do_actions()
. apply_filters()
add_action()
Berikut adalah contoh tindakan dalam plugin. Tindakan ini kebakaran selepas berjaya mendaftarkan pengguna dalam Plugin Pendaftaran Pengguna Profil saya: add_filter()
Semua fungsi yang dilampirkan pada tindakan ini diproses semasa pelaksanaan WordPress.
the_content
di WordPress Core adalah contoh cangkuk penapis yang menapis kandungan setiap jawatan:
<code class="language-php">/** * Fires after a user registration is completed. * * @param int $form_id ID of the registration form. * @param mixed $user_data array of registered user info. * @param int $user_id ID of the registered user. */ do_action( 'pp_after_registration', $form_id, $user_data, $user_id );</code>
NOTA:
Dalam do_actions()
, parameter pertama adalah nama cangkuk tindakan, dan parameter berikutnya adalah pembolehubah yang boleh digunakan untuk menyambungkan fungsi tindakan.
Dalam apply_filters()
, parameter pertama adalah nama cangkuk penapis, dan parameter kedua adalah data atau nilai yang fungsi dilampirkan pada penapis untuk pengubahsuaian atau aplikasi. Parameter seterusnya adalah pembolehubah/nilai yang boleh digunakan untuk melampirkan ke penapis.
Contoh Hook Action
Contoh #1:
Menggunakan tindakan pp_after_registration
Plugin Profilpress, dengan mengandaikan kami ingin melaksanakan ciri, pengguna akan menerima mesej selamat datang sejurus selepas mendaftar (melalui perkhidmatan SMS Hypothetical Dolio). Cangkuk fungsi kami boleh seperti ini:
<code class="language-php"> /** * Filter the post content. * * @since 0.71 * * @param string $content Content of the current post. */ $content = apply_filters( 'the_content', $content );</code>Parameter ketiga
add_action
adalah keutamaan cangkuk, yang menentukan susunan pelaksanaan fungsi yang dilampirkan pada pp_after_registration
tindakan. Meninggalkan kosong akan lalai hingga 10. Parameter keempat menentukan bilangan parameter yang akan diterima oleh cangkuk fungsi. Meninggalkan kosong akan lalai kepada 1.
Contoh #2:
WordPress mengandungi cangkuk tindakan berikut: wp_head
dan wp_footer
, yang dipecat sebelum tag kepala depan dan akhir tag badan, masing-masing.
cangkuk ini boleh digunakan untuk memaparkan skrip dan data di lokasi strategik ini.
(Kandungan berikut adalah serupa dengan teks asal. Untuk mengelakkan pertindihan, contoh yang tinggal dan kesimpulan cangkuk tindakan dan cangkuk penapis ditinggalkan di sini)
(bahagian Soalan Lazim juga ditinggalkan kerana alasan panjang)
Atas ialah kandungan terperinci Demystifying the WordPress Hook System. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!