WordPress: écraser un shortcode d'un thème parent dans votre thème enfant

API WordPress

Eh bien, cela fait un moment que je n'ai pas partagé quelques astuces sur la programmation dans WordPress. Dernièrement, je suis revenu sur le banc pour déployer du code pour tous nos clients et ça a été amusant de reprendre le cours des choses. Vous avez peut-être remarqué les nouvelles intégrations du livre blanc marketing sur tout le site - c'était assez projet amusant!

Aujourd'hui, j'ai eu un problème différent. Beaucoup de nos clients ont des boutons implémentés via des shortcodes de thème parent. L'un de nos partenaires chez Elevated Marketing Solutions a demandé si nous pouvions faire un suivi des événements sur les boutons, car ils étaient d'excellents appels à l'action sur tous les sites. Les boutons de code court ne sont rien de plus qu'une balise d'ancrage conçue de manière un peu plus éloquente à l'aide d'une série de classes remplies par les options de code court.

Pour cette raison, nous devions ajouter un événement onclick au texte d'ancrage pour enregistrer un événement. Voici à quoi cela pourrait ressembler:

Bouton d'accueil

Le problème, bien sûr, est qu'il y a un shortcode en place dans notre thème parent et nous ne voulons pas modifier un thème parent. Et, puisque le shortcode est déployé sur le contenu de tout le site, nous ne voulons pas non plus créer un nouveau shortcode.

La solution est assez astucieuse. Le WordPress API vous permet de supprimer un shortcode! Ainsi, dans notre thème enfant, nous pouvons supprimer le shortcode, puis le remplacer par notre nouvelle fonction shortcode:

add_action ('after_setup_theme', 'call_child_theme_setup');
function calling_child_theme_setup () {remove_shortcode ('old_button_function_in_parent_theme'); add_shortcode ('bouton', 'nouveau_button_function_in_child_theme'); }
function new_button_function_in_child_theme ($ atts, $ content = null) {... votre nouveau shortcode est ici ...}

Dans ma nouvelle fonction de bouton (dans le fichier functions.php de mon thème enfant), j'ai réécrit la fonction shortcode pour ajouter un événement onClick dynamique. La sortie fonctionne à merveille et est maintenant suivie dans Google Analytics!

Que pensez-vous?

Ce site utilise Akismet pour réduire les spams. Découvrez comment sont traitées les données de vos commentaires..