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 dokumenta 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 tvrtki Elevated Marketing Solutions pitao je možemo li izvršiti 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 trebali 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 po sadržaju na cijeloj web lokaciji, također ne želimo kreirati novi kratki kod.

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 podređene teme functions.php) prepisao sam funkciju kratkog koda da bih dodao dinamički događaj onClick. 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.