Blog benéfico

Todo lo que necesitas saber sobre Charitable y nuestro equipo.

Tutorial: Cómo cambiar el texto del botón de donación por campaña

Última actualización el

  • Por

Aunque la mayoría de la gente usa Charitable para campañas de recaudación de fondos, algunos usuarios le han encontrado usos creativos. Un cliente recientemente quiso seguir usando Charitable como herramienta de donación, y al mismo tiempo usarla como una forma para que la gente se registre en su evento.

El primer paso para lograr esto es bastante fácil: simplemente crea una campaña separada para el registro del evento. Puedes configurar diferentes precios de entradas usando la función de Donaciones Sugeridas; simplemente establece un precio y una descripción.

Pero el desafío surge cuando quieres que el texto del botón del formulario sea más apropiado para el contexto. En lugar de "Donar", debería decir algo como "Comprar entradas".

En este tutorial, te mostraré cómo puedes usar un poco de código personalizado para personalizar fácilmente el texto del botón de donación por campaña.

La Solución

Para lograr esto, registraremos un nuevo campo en el editor de Campaña en el panel de WordPress. Este campo te permitirá especificar cuál debe ser el texto del botón de donación.

También crearemos versiones modificadas de las plantillas donde se muestra el botón de donación; estas se almacenarán en la carpeta de nuestro tema o tema hijo y anularán las plantillas predeterminadas incluidas en Charitable.

Paso 1: Añadir nuestra función

Si leíste mi último tutorial, este paso te resultará familiar.

Vamos a añadir una función PHP que se ejecutará cuando se llame al hook init dentro de WordPress. init es un hook que ocurre al principio mientras WordPress se está cargando, antes de que la página comience a renderizarse.

add_action( 'init', function() {
    // Our code will go in here.
} );

Estamos usando una función anónima aquí, lo cual está bien siempre que estés en una versión de PHP superior a la 5.2.

Si no estás seguro de cómo añadir esto a tu sitio, consulta nuestra guía:

Paso 2: Añadir el campo al editor de Campaña

A continuación, usaremos la API de Campos de Campaña para añadir un campo de "Texto del Botón" al editor de Campaña.

add_action( 'init', function() {

    /**
     * Create a new field as an instance of `Charitable_Campaign_Field`.
     *
     * See all available arguments at:
     *
     * @https://github.com/Charitable/Charitable/blob/ef9a468fbdd6fa83307abe6ac0c38896f625cf45/includes/fields/class-charitable-campaign-field.php
    */
    $campaign_field = new Charitable_Campaign_Field( 'button_text', array(
    'label'          => 'Button Text',
    'data_type'      => 'meta',
    'admin_form'     => array(
        'type'     => 'text',
        'required' => false,
        'default'  => 'Donate',
    ),
    'value_callback' => function( Charitable_Campaign $campaign, $key ) {
        $text = $campaign->get_meta( '_campaign_button_text' );

        // Set a default value to use when the button text is not set yet.
        if ( empty( $text ) ) {
            $text = 'Donate';
        }

        return $text;
    },
    ) );

    /**
     * Now, we register our new field.
     */
    charitable()->campaign_fields()->register_field( $campaign_field );

} );

En este código, primero creamos un nuevo campo creando un objeto Charitable_Campaign_Field. Pasamos dos parámetros al crear este objeto:

– Una clave – button_text
– Un array de argumentos

Solo estamos usando un subconjunto de todos los argumentos que son posibles al registrar un campo de campaña. Para ver otros argumentos disponibles, lee la documentación exhaustiva en línea en Github.

Un argumento importante incluido aquí es el parámetro value_callback:

'value_callback' => function( Charitable_Campaign $campaign, $key ) {
    $text = $campaign->get_meta( '_campaign_button_text' );

    // Set a default value to use when the button text is not set yet.
    if ( empty( $text ) ) {
        $text = 'Donate';
    }

    return $text;
},

Esta es una función que se utilizará para obtener el valor del campo para una campaña en particular. Lo incluimos aquí para proporcionar un valor predeterminado de "Donar" para el campo button_text; esto es necesario para las campañas existentes que no se han guardado desde que se añadió este campo de campaña.

Si vamos a añadir una nueva campaña o editar una existente, ahora veremos un panel de "Configuración Extendida", y dentro de él hay un campo de "Texto del Botón".

Paso 3: Anular la plantilla del formulario de donación

Dentro de Charitable, verás un directorio templates. Todas las plantillas de este directorio pueden ser anuladas creando una copia en la carpeta de tu tema hijo. Si no estás usando un tema hijo, también puedes anularlas creando una copia en la carpeta de tu tema, pero recomendamos el enfoque del tema hijo ya que asegura que no perderás tus cambios al actualizar tu tema en el futuro.

En primer lugar, crearemos una carpeta charitable dentro de la carpeta de nuestro tema hijo. Siempre que quieras anular una plantilla dentro del directorio templates de Charitable, debe almacenarse en la misma ubicación relativa dentro de la carpeta charitable (sin templates).

En nuestro caso, queremos anular la plantilla donation-form/form-donation.php. Así es como lo hacemos:

  • En nuestro tema hijo, creamos un nuevo archivo en charitable/donation-form/form-donation.php.
  • En este, pegamos el contenido del archivo templates/donation-form/form-donation.php en Charitable.

Si guardas este archivo y recargas tu formulario de donación, no notarás ninguna diferencia; ¡eso es porque aún no hemos cambiado nada! Así que pasemos a copiar nuestro texto de botón personalizado.

En la plantilla, busca la siguiente línea:

<button class="button button-primary" type="submit" name="donate"><?php _e( 'Donate', 'charitable' ); ?></button>

En la versión actual de Charitable (1.6.13), esta se encuentra en la línea 59, pero esto puede cambiar en el futuro. La parte que necesitamos reemplazar es esta parte central: <?php _e( 'Donate', 'charitable' ); ?>.

Nuestro texto de botón personalizado se puede obtener obteniendo el objeto de campaña del formulario con $form->get_campaign(), y luego llamando usando el get( 'button_text' ) en él:

<?php echo $form->get_campaign()->get( 'button_text' ); ?>

En conjunto, la línea actualizada se ve así:

<button class="button button-primary" type="submit" name="donate"><?php echo $form->get_campaign()->get( 'button_text' ); ?></button>

Ahora, cuando recargues el formulario de donación, mostrará el texto del botón personalizado de tu campaña.

Paso 4: Enjuagar y repetir para otras plantillas

El paso 3 arregló el formulario de donación. Pero el botón "Donar" aparece en otros casos también:

  • En una lista o cuadrícula de campañas cuando usas el shortcode [campaigns].
  • En la propia página de la campaña.

Determinando las plantillas que necesitas anular

Qué plantillas necesitas anular depende de cómo hayas configurado tu formulario de donación con la opción "Opciones de visualización" en Charitable > Ajustes.

"Mostrar en una página separada"

Las dos plantillas que necesitas anular son:

  • templates/campaign/donate-button.php
  • templates/campaign-loop/donate-link.php

Copia y pega el contenido de estos dos archivos en tu tema hijo en:

  • charitable/campaign/donate-button.php
  • charitable/campaign-loop/donate-link.php

"Mostrar en la misma página"

Las dos plantillas que necesitas anular son:

  • templates/campaign/donate-link.php
  • templates/campaign-loop/donate-link.php

Copia y pega el contenido de estos dos archivos en tu tema hijo en:

  • charitable/campaign/donate-link.php
  • charitable/campaign-loop/donate-link.php

"Revelar en una ventana modal"

Las dos plantillas que necesitas anular son:

  • templates/campaign/donate-modal.php
  • templates/campaign-loop/donate-modal.php

Copia y pega el contenido de estos dos archivos en tu tema hijo en:

  • charitable/campaign/donate-modal.php
  • charitable/campaign-loop/donate-modal.php

Realizando los cambios

Dependiendo de la plantilla que estés sobrescribiendo, la parte que realmente necesitas cambiar es:

<?php _e( 'Donate', 'charitable' ); ?>

O:

<?php esc_attr_e( 'Donate', 'charitable' ); ?>

Para cambiar la primera variante (es decir, _e), reemplázala con esto:

<?php echo $campaign->get( 'button_text' ); ?>

Si estás cambiando la segunda variante (es decir, esc_attr_e), cámbiala por esto:

<?php echo esc_attr( $campaign->get( 'button_text' ) ); ?>

Conclusión

Ahora que has actualizado todas las plantillas, deberías ver que el texto personalizado de tu botón de campaña se utiliza dondequiera que se muestre un botón de donación. Todo lo que tuvimos que hacer para llegar hasta aquí fue crear un nuevo campo de campaña y modificar tres plantillas predeterminadas usando nuestro tema hijo.

Si has seguido el proceso, espero que puedas ver cómo la flexibilidad de la API de Campos de Campaña, este proceso se puede utilizar para hacer muchos más ajustes en cómo funciona Charitable en tu sitio web. Por ejemplo, podrías adaptar este proceso para añadir un texto específico de la campaña antes del formulario de donación; solo requiere crear un nuevo campo de campaña y añadir el valor de ese campo a la plantilla form-donation.php (es decir, pasos 2 y 3).

¿Te ha resultado útil? ¿Alguna pregunta? Me encantaría saber de ti; envíanos un correo electrónico a través de nuestra página de Soporte o deja un comentario a continuación. Si tienes alguna sugerencia sobre un tema que te gustaría que cubriera en un futuro tutorial, también nos encantaría saberlo. :)

Divulgación: Nuestro contenido es compatible con los lectores. Esto significa que si haces clic en algunos de nuestros enlaces, podemos ganar una comisión. Solo recomendamos productos que creemos que aportarán valor a nuestros lectores.

2 respuestas a “Tutorial: Cómo cambiar el texto del botón de donación por campaña”

  1. En el paso 3, falta el "echo" en el segundo de los tres bloques de código. La línea debería decir:

    get_campaign()->get( ‘button_text’ ); ?>

    1. Avatar de ericnicolaas
      ericnicolaas

      ¡Buena observación! Acabo de arreglarlo.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Recibe consejos y recursos gratuitos directamente en tu bandeja de entrada, junto con más de 60.000 personas.

Únete a nuestro boletín

No te enviaremos spam. Solo enviamos un correo electrónico cuando creemos que realmente te ayudará. ¡Date de baja en cualquier momento!

Vídeo destacado:

Mira más vídeos en nuestro canal de YouTube.

Novedades en Benéfico

Ver las últimas actualizaciones
🔔 Suscríbete para recibir nuestras últimas actualizaciones
📧 Suscribirse a correos electrónicos

Suscripción por correo electrónico

Únete a nuestro boletín

No te enviaremos spam. Solo enviamos un correo electrónico cuando creemos que realmente te ayudará. ¡Date de baja en cualquier momento!

Mejora Pagos

💰 Acepta donaciones recurrentes con Windcave y Charitable

Un donante configura su donación una vez en la página de pago segura de Windcave, y Charitable factura cada renovación según lo programado. Por qué esto es importante:

🏦 Organizaciones con sede en Nueva Zelanda o Australia: donaciones mensuales en la pasarela con la que tu banco ya te ha configurado, sin un segundo procesador que incorporar.
⛪ Iglesias que reciben diezmos y ofrendas regulares: los miembros de la congregación establecen su propio calendario una vez, que es la forma más sencilla de lanzar donaciones recurrentes para la iglesia sin una plataforma separada.
🌏 Grupos con donantes en varias divisas: Windcave gestiona más de 20, por lo que un donante puede dar en la divisa que realmente posee.
📅 Fondos operativos en lugar de campañas puntuales: activa el modo Solo Recurrente y la opción única desaparece, por lo que cada donación a esa campaña es una suscripción.
🧾 Equipos sin desarrollador en plantilla: 3 conjuntos de credenciales pegados en una página de configuración, y sin código en ninguna parte.

Consulta nuestro anuncio aquí.

automatización actualizar

⚡ Creador Visual de Automatización: ¡Arrastrar y Soltar Sin Código!

Charitable Automation Connect 2.3.0 presenta el Generador de Automatización Visual, un lienzo a pantalla completa que presenta cada automatización como un flujo de tarjetas conectadas: un desencadenador, condiciones opcionales y una lista de acciones que se ejecutan en orden.

🧩 Muchas acciones, un desencadenador: Etiqueta a un donante, envía un correo electrónico, agrega una nota y activa una llamada webhook desde un solo evento, arrastrado en cualquier orden.

✉️ Actúa dentro de Charitable: Las nuevas acciones Enviar correo electrónico, Etiquetar donante y Agregar nota de donante se ejecutan sin necesidad de un servicio externo.

🔤 Etiquetas de combinación: Personaliza correos electrónicos y notas con campos en vivo como {first_name}, {total} y {campaign_name}.

🔁 Aplicar a donantes existentes: Ejecuta Etiquetar donante y Agregar nota de donante contra los donantes que ya tienes.

🖥️ Lienzo o Simple: Cambia de vista en cualquier momento, y las automatizaciones creadas antes de la 2.3.0 siguen funcionando sin cambios.

Lee más aquí.

Integración actualizado

📬 Presentamos Brevo para Charitable: Convierte donantes en suscriptores automáticamente

El momento en que un donante realiza una donación es cuando está más comprometido. Con la nueva integración de Brevo para Charitable, puedes convertir automáticamente a esos donantes únicos en suscriptores a largo plazo sin tocar una sola hoja de cálculo.

Simplemente recopila el consentimiento del donante directamente en tu formulario de donación y comienza tu serie de bienvenida de inmediato.

Novedades:

🔄 Sincronización automática de suscriptores: Los nuevos donantes que aceptan se añaden directamente a tu lista de contactos de Brevo tan pronto como se procesa su pago, sin necesidad de exportaciones manuales ni importaciones de CSV.

🎯 Control granular de consentimiento y opción de suscripción: Personaliza la etiqueta de tu casilla de verificación, elige si se marca por defecto o no, o activa la doble opción de suscripción de Brevo para mantener tu lista limpia y conforme.

📋 Mapeo de listas por campaña: Dirige a los donantes a tu lista de correo global o mapea campañas específicas a listas de Brevo dirigidas para adaptar tus mensajes de seguimiento.

⚡ Configuración en 5 minutos: Conéctate al instante pegando tu clave API de Brevo en la configuración de Newsletter, mapea tus campos de contacto y empieza a crear tu lista de correo en piloto automático.

¿Listo para hacer crecer tu lista de correo? Brevo ya está disponible a partir del plan Charitable Plus. ¡Conecta tu cuenta hoy mismo!

donaciones recurrentes actualizado

💳 Presentamos Actualizaciones de Tarjeta: ¡Soluciona Tarjetas Caducadas Sin Perder Suscripciones!

Las tarjetas de crédito caducadas o actualizadas son una de las mayores fugas silenciosas en la recaudación de fondos recurrente. Con las actualizaciones de tarjetas en la extensión de donaciones recurrentes, los donantes ahora pueden actualizar sus detalles de pago directamente, manteniendo intactas su suscripción, su calendario y su historial de donaciones.

Sin planes cancelados, sin historial perdido y sin dolores de cabeza administrativos para tu equipo.

Novedades:

⚡ Autoservicio en 30 Segundos: Los donantes obtienen un botón dedicado de “Actualizar Tarjeta” en su panel que abre el Portal de Clientes seguro y compatible con PCI de Stripe para actualizar los detalles de la tarjeta al instante.

🔒 Acceso Seguro y Delimitado: Delimitado exclusivamente a las actualizaciones de tarjetas por defecto, los donantes no pueden cancelar ni alterar accidentalmente sus planes desde el portal, manteniendo tus webhooks y datos sincronizados.

🤝 Soporte Asistido por Administrador: ¿Ayudando a un donante por teléfono? Abre su portal seguro de Stripe con un solo clic desde tu pantalla de administrador o genera un enlace de actualización de un solo uso para enviárselo por correo electrónico.

📋 Pista de Auditoría Automática: Cada actualización de método de pago se registra automáticamente con una marca de tiempo tanto en los registros generales del sistema como en el perfil del donante individual.

¡Listo para proteger tus ingresos recurrentes? Obtén el plan Plus o Pro y actualiza Donaciones Recurrentes a la versión 2.3.0+ y activa “Actualizar Método de Pago” en tu Configuración hoy mismo.

Integración constructor de páginas

¡Fans de Divi, regocíjense! ¡Módulo nativo de barra de progreso de campaña para Divi 5!

Con nuestro nuevo módulo nativo para Divi 5, puedes anclar tus micrositios con estadísticas de recaudación de fondos en tiempo real directamente en el lienzo visual. Así es como funciona y por qué vale la pena activarlo hoy.

Crea actualizaciones de campaña que sean VISUALES Y EN VIVO. También puedes:

📊 Barra de progreso de la campaña: Inserta una barra de progreso en vivo en cualquier diseño de Divi 5 y muestra el progreso de los objetivos en tiempo real.

🎨 Controles de estilo avanzados: Personaliza fácilmente el color de la barra y el seguimiento, la altura y el radio para que coincidan perfectamente con tu marca.

👁️ Listo para el constructor visual: Configura y previsualiza todo directamente en el lienzo de Divi como un módulo de primera clase.

🔁 Renderizado idéntico: El mismo motor exacto impulsa este módulo, lo que significa un diseño consistente sin soluciones alternativas heredadas.

✅ Lanzamientos más rápidos: Nunca salgas de la interfaz de Divi 5 para configurar códigos cortos o adivinar cómo se verán las etiquetas de tus objetivos.

Más información aquí.