WordPress: Prepišite kratki kod iz roditeljske teme u temi vašeg djeteta

WordPress API

Pa, prošlo je dosta vremena otkako sam podijelio nekoliko savjeta o programiranju u WordPressu. U posljednje vrijeme vratio sam se na klupu i implementirao kod za sve naše klijente i bilo je zabavno vratiti se u zamah stvari. Možda ste primijetili nove integracije marketinške knjige na cijeloj web lokaciji - to je bilo poprilično zabavan projekat!

Danas sam imao drugačiji problem. Mnogi od naših klijenata imaju gumbe implementirane kroz kratke kodove nadređenih tema. Jedan od naših partnera u kompaniji Elevated Marketing Solutions pitao je možemo li izvršiti neko praćenje događaja na tipkama, jer su to bili sjajni pozivi na radnju na svim web lokacijama. Dugmad kratkog koda nisu ništa drugo do sidrena oznaka koja je dizajnirana malo rječitije koristeći niz klasa koje se popunjavaju opcijama kratkog koda.

Zbog toga smo morali dodati događaj onclick u tekst sidra da bismo registrirali događaj. Evo kako bi to moglo izgledati:

Dugme za dom

Problem je, naravno, u tome što postoji kratki kod u našem nadređena tema i ne želimo uređivati ​​nadređenu temu. A budući da je kratki kôd raspoređen na sadržaje na cijeloj web lokaciji, također ne želimo stvoriti novi kratki kôd.

Rješenje je prilično glatko. WordPress API omogućuje vam uklanjanje kratkog koda! Dakle, u našoj podređenoj temi možemo ukloniti kratki kôd, a zatim ga zamijeniti novom funkcijom kratkog koda:

add_action ('after_setup_theme', 'call_child_theme_setup');
funkcija call_child_theme_setup () {remove_shortcode ('old_button_function_in_parent_theme'); add_shortcode ('button', 'new_button_function_in_child_theme'); }
funkcija new_button_function_in_child_theme ($ atts, $ content = null) {... vaš novi kratki kod je ovdje ...}

U svojoj novoj funkciji dugmeta (u funkciji moje dječje teme functions.php) prepisao sam funkciju kratkog koda kako bih dodao dinamički događaj na događaju Click. Izlaz djeluje predivno i sada se prati u Google Analyticsu!

Šta ti misliš?

Ova stranica koristi Akismet kako bi smanjila neželjenu poštu. Saznajte kako se podaci vašeg komentara obrađuju.