WordPress: Prepišite kratki kôd 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 dokumentacije na cijelom web mjestu - to je bilo poprilično zabavan projekt!

Danas sam imao drugačiji problem. Mnogi naši klijenti 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 gumbima jer su to izvrsni pozivi na radnje na svim web lokacijama. Gumbi kratkog koda nisu ništa drugo do sidrena oznaka koja je dizajnirana malo rječitije koristeći niz klasa koje su naseljene opcijama kratkog koda.

Zbog toga smo za dodavanje događaja u tekst sidra morali dodati događaj onclick. Evo kako bi to moglo izgledati:

Gumb Početna

Problem je, naravno, u tome što postoji kratki kod u našem roditeljska tema i ne želimo uređivati ​​nadređenu temu. A budući da je kratki kôd raspoređen na sadržaje na cijelom web mjestu, 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 kôd je ovdje ...}

U svojoj novoj funkciji gumba (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 lijepo i sada se prati u Google Analyticsu!

Što vi mislite?

Ova web stranica koristi Akismet za smanjenje neželjene pošte. Saznajte kako se podaci vašeg komentara obrađuju.