3 Apabila editor menambah WordPress [shortcode] Ke jawatan atau halaman, ia digantikan dengan output fungsi pengendali yang dikembalikan dalam pemalam atau fail fungsi.php tema. Mari buat contoh mudah:
Apabila kod berikut ditemui di halaman atau siaran:
Ia akan diterjemahkan ke:
Tetapi bagaimana jika editor kami mahu memasukkan butang di dalam kotak panggilan mereka? ...
Seperti yang dinyatakan, kod semasa akan gagal. Fungsi calloutbox dipanggil terlebih dahulu tetapi butang [dalaman] tidak akan diterjemahkan dengan sewajarnya.
Fungsi utama untuk menetapkan masalah ialah do_shortcode () - ia menggunakan penapis shortcode WordPress ke sebarang kandungan. Dalam kes ini, kami ingin membenarkan editor menambah [butang] dalam [panggilan] kami supaya kami menukar mengubah suai penyata pulangan CallOutBox dengan sewajarnya:
// create a styled button function ContactButton($params, $content = null) { extract(shortcode_atts(array( 'url' => '/contact-us', 'type' => 'style1' ), $params)); return '<a href="' . $url . '" >' . ucwords($content) . '</a>'; } add_shortcode('button','ContactButton');
[button]contact us today[/button]
<a href="/contact-us" >Contact Us Today</a>
// callout box function CalloutBox($params, $content = null) { extract(shortcode_atts(array( 'type' => 'style1' ), $params)); return '<aside >' . $content . '</aside>'; } add_shortcode('callout','CalloutBox');
[callout]For more information [button]contact us today[/button][/callout]
return '<aside >' . do_shortcode($content) . '</aside>';
Ya, anda boleh menggunakan kod shortcode dalam atribut shortcode. Walau bagaimanapun, ini memerlukan persediaan khusus dalam fungsi shortcode anda. Fungsi shortcode induk perlu menggunakan fungsi do_shortcode pada atribut yang akan mengandungi kod shortcode bersarang. setiap kod pendek secara berasingan. Anda juga boleh menggunakan pelbagai alat penyahpepijatan yang tersedia untuk WordPress, seperti Plugin Bar Debug, yang dapat memberikan maklumat berguna mengenai shortcode. Adalah mungkin untuk bersarang dengan shortcode yang sama dalam dirinya sendiri, mewujudkan kod pendek rekursif. Walau bagaimanapun, ini perlu dilakukan dengan berhati -hati kerana ia berpotensi membawa kepada gelung tak terhingga jika tidak dikawal dengan betul. Fleksibiliti, mereka juga boleh menjadikan kod anda lebih kompleks dan lebih sukar untuk dikekalkan. Ia juga penting untuk diperhatikan bahawa tidak semua tema atau plugin boleh menyokong kod pendek bersarang. Walau bagaimanapun, fungsi khusus kod pendek bergantung kepada fungsi yang ditakrifkan dalam tema atau plugin anda. digayakan menggunakan CSS. Anda boleh menambah kelas tersuai ke output kod shortcode anda dan kemudian gunakan kelas -kelas ini di CSS anda untuk menggunakan gaya yang dikehendaki. Gunakan kod pendek bersarang dalam catatan dan halaman anda. Anda juga boleh menggunakannya dalam widget, selagi tema atau plugin anda menyokong shortcode dalam widget.
Atas ialah kandungan terperinci Cara Membuat Kod Shortced Bersarang di WordPress. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!