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

API di WordPress

Bene, è passato un po 'di tempo da quando ho condiviso alcuni suggerimenti sulla programmazione in WordPress. Ultimamente, sono tornato in panchina a distribuire codice per tutti i nostri clienti ed è stato divertente tornare al ritmo delle cose. Potresti aver notato le nuove integrazioni del white paper di marketing in tutto il sito: era piuttosto un progetto divertente!

Oggi ho avuto un problema diverso. Molti dei nostri clienti hanno pulsanti implementati tramite codici brevi 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 anchor tag progettato in modo un po 'più eloquente utilizzando una serie di classi popolate dalle opzioni shortcode.

Per questo motivo, dovevamo aggiungere un evento onclick al testo di ancoraggio per registrare un evento. Ecco come potrebbe apparire:

Pulsante Home

Il problema, ovviamente, è che è presente uno shortcode nel nostro file tema genitore e non vogliamo modificare un tema principale. Inoltre, 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 all'evento Click. 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.