WordPress: Timpa Kode Pendek Dari Tema Orang Tua di Tema Anak Anda

API WordPress

Nah, sudah cukup lama sejak saya membagikan beberapa tips pemrograman di WordPress. Akhir-akhir ini, saya kembali ke bangku cadangan dalam menerapkan kode untuk semua klien kami dan sangat menyenangkan untuk kembali ke ayunan hal-hal. Anda mungkin telah memperhatikan integrasi Whitepaper Pemasaran baru di seluruh situs - itu cukup bagus proyek yang menyenangkan!

Hari ini, saya memiliki masalah yang berbeda. Banyak klien kami memiliki tombol yang diimplementasikan melalui shortcode tema induk. Salah satu mitra kami di Elevated Marketing Solutions bertanya apakah kami dapat melakukan pelacakan peristiwa pada tombol karena tombol itu adalah ajakan bertindak yang hebat di seluruh situs. Tombol kode pendek tidak lebih dari tag jangkar yang dirancang sedikit lebih fasih menggunakan serangkaian kelas yang diisi oleh opsi kode pendek.

Karena itu, kami perlu menambahkan acara onclick ke teks tautan untuk mendaftarkan acara. Berikut tampilannya:

Tombol Home

Masalahnya, tentu saja, ada kode pendek di tempat kami tema induk dan kami tidak ingin mengedit tema induk. Dan, karena kode pendek diterapkan di seluruh konten di seluruh situs, kami juga tidak ingin membuat kode pendek baru.

Solusinya cukup licin. WordPress API memungkinkan Anda untuk menghapus kode pendek! Jadi, di tema anak kita, kita bisa menghapus kode pendek, lalu menggantinya dengan fungsi kode pendek baru kita:

add_action ('after_setup_theme', 'calling_child_theme_setup');
function calling_child_theme_setup () {remove_shortcode ('old_button_function_in_parent_theme'); add_shortcode ('button', 'new_button_function_in_child_theme'); }
function new_button_function_in_child_theme ($ atts, $ content = null) {... shortcode baru Anda ada di sini ...}

Dalam fungsi tombol baru saya (di Function.php Tema Anak saya), saya menulis ulang fungsi shortcode untuk menambahkan event onClick event dinamis. Hasilnya bekerja dengan baik dan sekarang terlacak di Google Analytics!

Bagaimana menurut Anda?

Situs ini menggunakan Akismet untuk mengurangi spam. Pelajari bagaimana data komentar Anda diproses.