WordPress: Přepsat zkratku z nadřazeného motivu do motivu vašeho dítěte

WordPress API

Je to už docela dlouho, co jsem sdílel několik tipů na programování ve WordPressu. V poslední době jsem byl zpátky na lavičce a nasazoval jsem kód pro všechny naše klienty a bylo zábavné se vrátit zpět do proudu věcí. Možná jste si všimli nových integrací Marketing Whitepaper na celém webu - to bylo docela zábavný projekt!

Dnes jsem měl jiný problém. Mnoho našich klientů má tlačítka implementovaná prostřednictvím rodičovských témat. Jeden z našich partnerů ve společnosti Elevated Marketing Solutions se zeptal, jestli můžeme provést nějaké sledování událostí na tlačítkách, protože to byla skvělá výzva k akci na všech webech. Tlačítka zkráceného kódu nejsou nic jiného než kotevní značka, která je navržena trochu výmluvněji pomocí řady tříd, které jsou vyplněny možnostmi zkráceného kódu.

Z tohoto důvodu jsme potřebovali přidat událost onclick do textu ukotvení, abychom událost zaregistrovali. Může to vypadat takto:

Tlačítko Domů

Problém samozřejmě spočívá v tom, že v našem je zaveden krátký kód nadřazené téma a nechceme upravit nadřazené téma. A protože je zkrácený kód nasazen napříč obsahem na celém webu, také nechceme vytvářet nový zkrácený kód.

Řešení je docela úhledné. WordPress API umožňuje odstranit shortcode! Takže v našem podřízeném motivu můžeme odstranit krátký kód a poté ho nahradit naší novou funkcí krátkého kódu:

add_action ('after_setup_theme', 'calling_child_theme_setup');
funkce calling_child_theme_setup () {remove_shortcode ('old_button_function_in_parent_theme'); add_shortcode ('button', 'new_button_function_in_child_theme'); }
funkce new_button_function_in_child_theme ($ atts, $ content = null) {... vaše nová zkratka je zde ...}

Ve své nové tlačítkové funkci (v mé dětské motivové functions.php) jsem přepsal funkci zkráceného kódu, abych připojil dynamickou událost k události Click. Výstup funguje skvěle a nyní se sleduje v Google Analytics!

Co si myslíte?

Tyto stránky používají Akismet k omezení spamu. Zjistěte, jak jsou vaše údaje komentářů zpracovávány.