WordPress: In koarte koade oerskriuwe fan in âlder-tema yn jo bernetema

WordPress API

No, it is in heule tiid lyn dat ik wat tips dielde oer programmearjen yn WordPress. De lêste tiid haw ik wer op 'e bank west en koade ynset foar al ús kliïnten en it is leuk om werom te kommen yn' e swing fan dingen. Jo hawwe miskien de nije yntegraasjes Marketing Whitepaper opmurken troch de side - dat wie in hiel a leuk projekt!

Hjoed hie ik in oar probleem. In protte fan ús kliïnten hawwe knoppen ymplementeare fia shortcodes foar âlder tema. Ien fan ús partners by Elevated Marketing Solutions frege oft wy wat folgjen fan barrens koene dwaan op 'e knoppen, om't se geweldige oprop-oan-aksjes wiene yn' e siden. Koarte koade-knoppen binne neat mear dan in anker-tag dat in bytsje welsprekender is ûntwurpen mei in searje klassen dy't befolke binne troch de opsjes foar koarte koade.

Hjirtroch moasten wy in onclick-evenemint tafoegje oan 'e ankertekst om in evenemint te registrearjen. Hjir is hoe't it der útsjen kin:

Thús knop

It probleem is fansels dat d'r in koarte koade yn plak is âlder tema en wy wolle gjin âlder tema bewurkje. En om't de koarte koade oer de hiele side wurdt ynset, wolle wy ek gjin nije koarte koade oanmeitsje.

De oplossing is frij slick. De WordPress API lit jo in koarte koade ferwiderje! Dus, yn ús bernetema kinne wy ​​de koarte koade fuortsmite, en dan ferfange troch ús nije koarte koade-funksje:

add_action ('nei_setup_thema', 'calling_child_theme_setup');
funksje calling_child_theme_setup () {remove_shortcode ('old_button_function_in_parent_theme'); add_shortcode ('knop', 'nij_knop_funksje_yn_kind_thema'); }
funksje new_button_function_in_child_theme ($ atts, $ content = null) {... jo nije koarte koade is hjir ...}

Yn myn nije knopfunksje (yn 'e funksjes.php fan myn Child Theme) haw ik de koarte-kodefunksje opnij skreaun om in dynamysk barren ta te foegjen onClick barren. De útfier wurket prachtich en folget no yn Google Analytics!

Wat tinksto?

Dizze side brûkt Akismet om spam te ferleegjen. Learje hoe't jo kommentaargegevens ferwurke wurde.