WordPress: sovrascrivi uno shortcode da un tema principale nel tema figlio

API di WordPress

Bene, è passato un po' di tempo dall'ultima volta che ho condiviso alcuni suggerimenti sulla programmazione in WordPress. Ultimamente, sono tornato in panchina a distribuire il codice per tutti i nostri clienti ed è stato divertente riprendere il ritmo delle cose. Potresti aver notato le nuove integrazioni del whitepaper di marketing in tutto il sito: è stato piuttosto a progetto divertente!

Oggi ho avuto un problema diverso. Molti dei nostri clienti hanno pulsanti implementati tramite shortcode del tema principale. Uno dei nostri partner di Elevated Marketing Solutions ha chiesto se potevamo eseguire il monitoraggio degli eventi sui pulsanti poiché erano ottimi inviti all'azione in tutti i siti. I pulsanti shortcode non sono altro che un tag di ancoraggio progettato in modo un po' più eloquente utilizzando una serie di classi popolate dalle opzioni shortcode.

Per questo motivo, abbiamo dovuto aggiungere un evento onclick al testo di ancoraggio per registrare un evento. Ecco come potrebbe essere:

Pulsante Home

Il problema, ovviamente, è che c'è uno shortcode in atto nel nostro tema genitore e non vogliamo modificare un tema principale. E, poiché lo shortcode viene distribuito nei contenuti di tutto il sito, non vogliamo nemmeno creare un nuovo shortcode.

La soluzione è piuttosto intelligente. Il WordPress API ti permette di rimuovere uno shortcode! Quindi, nel nostro tema child, possiamo rimuovere lo shortcode, quindi sostituirlo con la nostra nuova funzione shortcode:

add_action ('after_setup_theme', 'calling_child_theme_setup');
funzione calling_child_theme_setup () {remove_shortcode ('old_button_function_in_parent_theme'); add_shortcode ('button', 'new_button_function_in_child_theme'); }
function new_button_function_in_child_theme ($ atts, $ content = null) {... il tuo nuovo shortcode è qui ...}

Nella mia nuova funzione pulsante (nel functions.php del mio tema figlio), ho riscritto la funzione shortcode per aggiungere un evento dinamico onClick. L'output funziona magnificamente e ora viene monitorato in Google Analytics!

Cosa ne pensi?

Questo sito utilizza Akismet per ridurre lo spam. Scopri come vengono elaborati i dati dei tuoi commenti.