WordPress: sobrescriba un código corto de un tema principal en su tema secundario

API de WordPress

Bueno, ha pasado bastante tiempo desde que compartí algunos consejos sobre programación en WordPress. Últimamente, he vuelto al banco de trabajo implementando código para todos nuestros clientes y ha sido divertido volver al ritmo de las cosas. Es posible que haya notado las nuevas integraciones del documento técnico de marketing en todo el sitio; eso fue bastante proyecto divertido!

Hoy tuve un problema diferente. Muchos de nuestros clientes tienen botones implementados a través de códigos cortos de temas para padres. Uno de nuestros socios de Elevated Marketing Solutions preguntó si podíamos hacer un seguimiento de eventos en los botones, ya que eran excelentes llamadas a la acción en todos los sitios. Los botones de shortcode no son más que una etiqueta de ancla que está diseñada con un poco más de elocuencia utilizando una serie de clases que están pobladas por las opciones de shortcode.

Debido a esto, necesitábamos agregar un evento onclick al texto de anclaje para registrar un evento. Así es como podría verse:

Botón de inicio

El problema, por supuesto, es que hay un código abreviado en nuestro tema principal y no queremos editar un tema principal. Y, dado que el código abreviado se implementa en todo el contenido de todo el sitio, tampoco queremos crear un nuevo código abreviado.

La solución es bastante hábil. El WordPress API te permite eliminar un shortcode! Entonces, en nuestro tema hijo, podemos eliminar el código corto y luego reemplazarlo con nuestra nueva función de código corto:

add_action ('after_setup_theme', 'llamando_child_theme_setup');
función llamando_tema_niño_configuración () {remove_shortcode ('función_button_antiguo_en_tema_parente'); add_shortcode ('botón', 'new_button_function_in_child_theme'); }
function new_button_function_in_child_theme ($ atts, $ content = null) {... su nuevo shortcode está aquí ...}

En mi nueva función de botón (en functions.php de mi tema infantil), reescribí la función de código corto para agregar un evento dinámico en el evento onClick. ¡La salida funciona a la perfección y ahora se rastrea en Google Analytics!

¿Qué piensas?

Este sitio usa Akismet para reducir el correo no deseado. Descubra cómo se procesan los datos de sus comentarios.