Rumah >Tutorial CMS >WordTekan >Petua Pantas: Cara Menggunakan Kod Shorts Dalam Widget Di WordPress
Dalam WordPress, kod pendek hanya boleh digunakan dalam artikel dan halaman secara lalai, dan tidak boleh digunakan dalam widget. Walau bagaimanapun, fungsi ini boleh diaktifkan menggunakan fungsi penapis widget_text
dan do_shortcode()
, yang membolehkan widget teks untuk menghuraikan sebarang shortcode sedia ada.
Benarkan shortcode dalam widget teks
WordPress menyediakan pelbagai widget secara lalai. Widget teks membolehkan anda menambah sebarang teks ke widget, atau mana -mana kod HTML. Ini bermakna anda juga boleh menggunakan kod JavaScript dalam widget ini, jadi ia sangat kuat. Walau bagaimanapun, jika anda memerlukan lebih banyak ciri, seperti skrip PHP yang mengakses beberapa data yang disimpan dalam pelayan, widget ini tidak akan membantu anda secara lalai.Ia sama dengan artikel. Itulah sebabnya, seperti dalam artikel, kami mahu dapat menggunakan shortcode untuk melakukan apa sahaja yang kami mahukan. Untuk melakukan ini, kita boleh menggunakan penapis
. Penapis ini digunakan untuk membolehkan pengubahsuaian kandungan widget teks. Kami akan menggunakannya di sini untuk meminta WordPress untuk menghuraikan kod pendek dalam widget ini. widget_text
. Ia menerima parameter yang diperlukan, iaitu teks yang akan dihuraikan, dan mengembalikan teks yang dihuraikan. Ini bermakna kita boleh menggunakan fungsi ini secara langsung sebagai fungsi panggil balik untuk penapis do_shortcode()
. widget_text
fail plug-in atau tema: functions.php
<code class="language-php"><?php add_filter('widget_text', 'do_shortcode'); ?></code>Sebarang kod shortcode yang ada dalam widget teks kini akan dihuraikan.
Sebagai alternatif, kita boleh membuat widget kita sendiri. Oleh kerana widget "teks" lalai berfungsi dengan baik, kita boleh menyesuaikan kodnya dari kod berikut (terletak di dalam fail
). Perlu diingat bahawa kita harus membuat plugin kita sendiri dan tidak pernah mengubah suai fail WordPress Core.
/wp-includes/default-widgets.php
<code class="language-php"><?php class WP_Widget_Text extends WP_Widget { public function __construct() { $widget_ops = array('classname' => 'widget_text', 'description' => __('Arbitrary text or HTML.')); $control_ops = array('width' => 400, 'height' => 350); parent::__construct('text', __('Text'), $widget_ops, $control_ops); } // ... (其余代码与原文相同) ... } ?></code>, tetapi anda boleh memilih nama yang anda suka. Oleh kerana jenis pembina ini menetapkan beberapa maklumat mengenai widget itu sendiri, kita juga perlu mengubahnya.
WP_Widget_Shortcodes
<code class="language-php"><?php public function __construct() { $widget_ops = array('classname' => 'widget_shortcodes', 'description' => __('Arbitrary text or HTML with shortcodes.')); $control_ops = array('width' => 400, 'height' => 350); parent::__construct('shortcodes', __('Shortcodes'), $widget_ops, $control_ops); } ?></code>, yang menerangkan bagaimana WordPress memaparkan widget. Kami menukar kandungan pembolehubah
yang mengandungi teks yang akan dipaparkan. Kami memadam panggilan ke penapis widget()
dan menggunakan fungsi $text
ke kandungan ini. widget_text
<code class="language-php"><?php add_filter('widget_text', 'do_shortcode'); ?></code>
maka kita perlu mendaftarkan widget kita supaya kita dapat menambahkannya seperti mana -mana widget lain. Ini boleh dilakukan melalui operasi widgets_init
, yang akan dicetuskan apabila WordPress mendaftarkan widget lalai.
<code class="language-php"><?php class WP_Widget_Text extends WP_Widget { public function __construct() { $widget_ops = array('classname' => 'widget_text', 'description' => __('Arbitrary text or HTML.')); $control_ops = array('width' => 400, 'height' => 350); parent::__construct('text', __('Text'), $widget_ops, $control_ops); } // ... (其余代码与原文相同) ... } ?></code>
Anda kini boleh mencari widget kami dalam senarai widget yang tersedia. Anda boleh menambahkannya ke mana -mana kawasan yang serasi dan ia akan menerangkan sebarang kod pendek yang anda gunakan.
Kesimpulan
Seperti yang disebutkan di atas, membolehkan kod pendek dalam widget tidak rumit, tetapi anda perlu berhati -hati. Malah, tidak setiap kod pendek sesuai untuk memaparkan lokasi widget. Jika kod pendek mempunyai lebar tetap, itu boleh menjadi masalah.Perhatikan bahawa perubahan yang kami gunakan dalam widget teks lalai adalah minimum. Jika anda ingin menyesuaikan widget, anda boleh menukar apa -apa lagi.
(berikut adalah kerja pseudo-asal di bahagian FAQ asal. Kaedah ekspresi diselaraskan sambil mengekalkan konsistensi kandungan)
[]
Untuk membuat kod shortcode anda sendiri untuk widget, anda perlu menambah fungsi tersuai dalam fail functions.php
tema. Fungsi ini harus menentukan fungsi shortcode. Selepas menentukan fungsi, anda boleh menggunakan fungsi add_shortcode()
untuk membuat kod shortcode baru.
Kod pendek boleh digunakan dalam mana -mana widget yang menerima input teks. Ini termasuk widget teks, widget HTML tersuai, dan widget lain. Walau bagaimanapun, tidak semua widget menyokong kod pendek.
do_shortcode
di WordPress? dalam WordPress digunakan untuk mencari shortcode dalam kandungan dan shortcode penapis melalui cangkuknya. Ia sebenarnya membolehkan anda menggunakan shortcode di luar editor artikel, seperti dalam widget atau fail tema. do_shortcode
dalam pemalam atau fail tema. add_shortcode
Atas ialah kandungan terperinci Petua Pantas: Cara Menggunakan Kod Shorts Dalam Widget Di WordPress. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!