Documentación de Charitable

Aprende a sacar el máximo partido a Charitable con instrucciones claras y paso a paso.

API de Campos de Donación

La API de Campos de Donación proporciona una forma potente y flexible de añadir, eliminar y editar tus campos de donación.

¿Qué son los campos de donación?

Los campos de donación son cualquier dato sobre una donación que esté disponible para que lo utilices. Por ejemplo, aquí tienes algunos de los campos disponibles por defecto:

  • first_name – Obtiene el nombre del donante.
  • last_name – Obtiene el apellido del donante.
  • amount_formatted – Obtiene el importe de la donación, formateado según la configuración de divisa de tu sitio (p. ej. 50,00 $).
  • date – La fecha en que se realizó la donación.
  • gateway_label – El método de pago que utilizó el donante.

¿Cómo obtengo el valor de un campo de donación en particular?

Puedes obtener el valor de cualquier campo de donación a través del objeto Charitable_Donation de la donación.

El primer paso es obtener un objeto Charitable_Donation:

$donation_id = 123; // Replace with your Donation's ID.
$donation    = charitable_get_donation( $donation_id );

A continuación, puedes obtener el valor del campo llamando a get() en el objeto, como puedes ver en los siguientes ejemplos:

$first_name = $donation->get( 'first_name' );
$date       = $donation->get( 'date' );
$gateway    = $donation->get( 'gateway_label' );

Para juntarlo todo:

$donation_id = 123;
$donation    = charitable_get_donation( $donation_id );
$first_name  = $donation->get( 'first_name' );

¿Cómo añado un nuevo campo a mi formulario de donación?

Añadir un nuevo campo es un proceso de dos pasos.

Primero, crearás un nuevo objeto Charitable_Donation_Field que definirá los parámetros de tu campo: su etiqueta, el tipo de valor que almacena, cómo debe incluirse en el formulario de donación (si es que se incluye), si debe añadirse al archivo de exportación de donaciones, y más.

A continuación, añadirás este campo a la clase Charitable_Donation_Field_Registry, que proporciona una forma de almacenar y recuperar campos de donación.

Veamos cómo funciona esto en un ejemplo:

/**
 * Create a callback function on the `init` hook, where we
 * can register our donation field.
 */
add_action( 'init', function() {

    /* Create the `Charitable_Donation_Field` object. */
    $field = new Charitable_Donation_Field(
        'my_custom_field',
        array(
            'label'          => __( 'My Custom Field' ),
            'data_type'      => 'meta', 
            'donation_form'  => array(
                'type'       => 'text',
                'required'   => false,
                'show_after' => 'phone',
            ), 
            'admin_form'     => true,
            'show_in_meta'   => true,
            'show_in_export' => true,
            'email_tag'      => array(
                'description' => __( 'The custom field value' ),
            ),
        )
    );

    /* Get the `Charitable_Donation_Field_Registry` instance. */
    $fields = charitable()->donation_fields();

    /* Add the new field. */
    $fields->register_field( $field );
} );

En el ejemplo anterior, hemos creado un nuevo campo con la clave my_custom_field. Aquí tienes lo que significan sus parámetros definidos:

  • Su etiqueta es “Mi Campo Personalizado”. Esto es lo que se utilizará en el formulario de donación, en el área de detalles de donación del administrador y en la exportación de donaciones como encabezado de columna.
  • Su tipo de datos es meta. Esto significa que se almacenará como un campo meta específico para esa donación.
  • Está configurado para mostrarse en el formulario de donación, justo después del campo phone. Es un campo opcional.
  • También se añadirá al formulario de donación del administrador.
  • Al ver los detalles de la donación, podrás ver lo que el donante introdujo para este campo en la sección “Detalles de la donación”.
  • Al descargar una exportación de donaciones, se añadirá una nueva columna “Mi campo personalizado” que mostrará lo que los donantes introdujeron para este campo.
  • Se ha creado una nueva etiqueta de correo electrónico para este campo, por lo que puedes incluirla fácilmente en correos electrónicos específicos de donaciones, como el Recibo de donación (para donantes) o la Notificación de donación (para administradores).

Este es un ejemplo relativamente simple, pero logra mucho. Haz clic aquí para un desglose más detallado de todos los parámetros disponibles al crear objetos Charitable_Donation_Field.

¿Cómo cambio un campo de donación existente?

Para cambiar un campo de donación existente, primero recuperas el campo del Charitable_Donation_Field_Registry y luego actualizas el valor del campo.

Para actualizar el valor del campo, podemos llamar a set() en el campo o usar el setter mágico.

/**
 * Create a callback function on the `init` hook, where we
 * can start changing the donation field.
 */
add_action( 'init', function() {

    /* Get the Donation Field Registry object. */
    $fields = charitable()->donation_fields();

    /* Get the field we want to change. */
    $field  = $fields->get_field( 'phone' );
    
    /**
     * Change #1: Make it a required field (uses set()).
     * Change #2: Change the label (uses magic setter).
     */
    $field->set( 'donation_form', 'required', true );
    $field->label = 'Phone Number';
} );

Para más información sobre cómo actualizar los argumentos del campo, consulta la referencia detallada de esos métodos de clase:

¿Cómo añado un campo a un formulario de donación de una campaña específica?

Si quieres que un campo nuevo o existente solo se muestre para ciertas campañas, puedes hacerlo añadiendo una nueva función que controle si el campo se muestra en el formulario de donación.

Si estás añadiendo un campo nuevo, primero tendrás que crear el campo de donación, así que sigue esos pasos primero.

Ahora puedes *ocultar* el campo que registraste de todos los formularios de donación excepto del que quieres que se muestre:

add_filter( 'charitable_donation_form_user_fields', function( $fields, $form ) {

    /* If the field doesn't exist, stop right here. */
    if ( ! array_key_exists( 'my_custom_field', $fields ) ) {
        return $fields;
    }

    /* Match any campaign that DOESN'T have a slug of 'special-campaign' */
    if ( 'special-campaign' !== $form->get_campaign()->post_name ) {    
        unset( $fields['my_custom_field'] );
    }
    
    return $fields;
}, 10, 2 );

¿Qué está pasando aquí?

  • Solo queremos que el campo my_custom_field se muestre en la campaña con un slug de ‘special-campaign’.
  • El campo se mostrará en todas las campañas por defecto, así que nuestro código comprueba si la campaña *no* tiene un slug de ‘special-campaign’ y luego la elimina.

Puedes cambiar la condición bajo la cual se muestra el campo. Por ejemplo, puedes cambiar el campo para que solo se muestre para campañas de una categoría determinada, o para campañas que tengan una campaña principal específica (es decir, recaudaciones de fondos para una de tus campañas de recaudación de fondos de persona a persona).

¿Cómo cambio un campo de donación para una campaña en particular?

El enfoque utilizado anteriormente para mostrar un campo en una campaña en particular se puede adaptar para *cambiar* un campo de donación para una campaña en particular.

Por ejemplo, si solo quieres aceptar donaciones de donantes de un país específico para una campaña determinada, puedes lograrlo con el siguiente código:

add_filter( 'charitable_donation_form_user_fields', function( $fields, $form ) {
    /* If a country field doesn't exist, stop right here. */
    if ( ! array_key_exists( 'country', $fields ) ) {
        return $fields;
    }

    if ( 'south-africa-only' === $form->get_campaign()->post_name ) {
        $fields['country']['options'] = array(
            'ZA' => 'South Africa',
        );
    }	

    return $fields;

}, 10, 2 );

Este código hará que la campaña con el slug ‘south-africa-only’ solo muestre Sudáfrica como opción de país válida.

¿Cómo hago que un campo de donación se muestre según la entrada del usuario?

Los dos ejemplos anteriores mostraron cómo añadir/cambiar campos de donación basándose en la campaña del formulario de donación. Pero, ¿y si quieres mostrar u ocultar un campo basándote en la entrada del usuario?

Gestionar esto requiere un enfoque diferente, utilizando Javascript. Si eres un desarrollador con confianza, puedes añadir esto a través de un nuevo archivo Javascript, pero en el ejemplo a continuación utilizaremos la función wp_add_inline_script para añadir nuestro Javascript personalizado sin necesidad de crear, registrar y poner en cola un nuevo script.

En el ejemplo a continuación, solo mostramos nuestro campo personalizado, my_custom_field, cuando el donante es de los Estados Unidos:

add_action( 'wp_enqueue_scripts', function() {
    wp_add_inline_script( 'charitable-script', "
        jQuery('body').on('charitable:form:loaded', (event, donationForm) => {
            var countryField = donationForm.get_input('country');
            function toggleCustomField() {
                donationForm.get_input('my_custom_field').parent().toggle('US' === countryField.val());
            }
            countryField.on('change', toggleCustomField).trigger('change');
        });
    " );
} );

Lista completa de campos de donación predeterminados

Los siguientes campos son añadidos por Charitable y sus extensiones:

ClaveDescripción
donation_idEl ID de la donación
nombreEl nombre del donante.
apellidoEl apellido del donante.
donanteEl nombre completo del donante.
correo electrónicoLa dirección de correo electrónico del donante.
direccion_donanteLa dirección completa del donante, formateada.
direccionEl primer campo de la dirección del donante.
direccion_2El segundo campo de la dirección del donante.
ciudadLa ciudad del donante.
provinciaEl estado del donante.
codigo_postalEl código postal del donante.
paisEl país del donante.
telefonoEl número de teléfono del donante.
campanasLa campaña que recibió la donación.
lista_categorias_campanasLas categorías en las que se encuentra la campaña.
importe_formateadoEl importe de la donación, formateado según la configuración de su divisa.
fechaLa fecha de la donación.
horaLa hora en que se realizó la donación.
estadoEl estado de la donación. Devuelve el valor crudo de post_status.
etiqueta_estadoEl estado de la donación como una etiqueta más legible.
pasarela_donacionLa pasarela de pago utilizada para la donación.
etiqueta_pasarelaLa pasarela de pago como una cadena de texto fácil de leer.
clave_donacionLa clave única de la donación.
id_transaccion_pasarelaEl ID de transacción de la donación en la pasarela de pago utilizada (por ejemplo, PayPal, Stripe).
modo_pruebaSi la donación se realizó en modo de prueba.
resumen_donacionUn resumen legible de la donación, que indica la campaña que recibe la donación y el importe donado.
consentimiento_contactoSi el donante dio su consentimiento para ser contactado.
cubrir_comisionesSi el donante cubrió las comisiones.
Añadido por Fee Relief.
importe_comisionEl importe de las comisiones de procesamiento pagadas por el donante.
Añadido por Fee Relief.
importe_comision_formateadoEl importe de las comisiones de procesamiento pagadas por el donante, formateado según la configuración de su divisa.
Añadido por Alivio de comisiones.
donacion_total_con_comisionesEl importe total de la donación, incluidas las comisiones de procesamiento.
Añadido por Alivio de comisiones.
donacion_total_con_comisiones_formateadaEl importe total de la donación, incluidas las comisiones de procesamiento, formateado según la configuración de su divisa.
Añadido por Alivio de comisiones.
consentimiento para rastrearSi el donante ha dado permiso para rastrear la actividad de su boletín (aperturas, clics). Esto solo se aplica si está utilizando Campaign Monitor.
Añadido por Conexión de boletines.
donación anónimaSi el donante ha optado por permanecer en el anonimato.
Añadido por Donaciones anónimas.
comentario del donanteEl comentario dejado por el donante.
Añadido por Comentarios de donantes.
Gift AidSi el donante reclamó la desgravación fiscal.
Añadido por Gift Aid.
declaración de Gift AidLa declaración que el donante aceptó al reclamar la desgravación fiscal.
Añadido por Gift Aid.
títuloEl título del donante (Sr., Sra., Srta., etc.).
Añadido por Gift Aid.
dirección 3La tercera línea de la dirección del donante.
Añadido por Gift Aid.

¿Todavía tienes preguntas? ¡Estamos aquí para ayudarte!

Última modificación:

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!

Nuevo plantillas

🤩 ¡Nuevas plantillas de campaña de Beacon con bloque "Héroe"!

Con las nuevas plantillas de campaña Beacon para Charitable Pro, puedes lanzar una impresionante página de recaudación de fondos de ancho completo que capta instantáneamente la atención del visitante por encima del pliegue.

Encabezado de la página de recaudación de fondos para Salvar el Parque Maple Grove con un widget de donación y una pequeña foto cuadrada de una miniatura de árbol iluminado por el sol a la izquierda.

🔦 Impacto por encima del pliegue: Lidera con una imagen principal de ancho completo, tu logotipo y tu objetivo con un widget de donación bloqueado justo encima del banner para que tu petición y tu impulso se registren al instante sin necesidad de desplazarse.

📐 Dos diseños flexibles: Elige entre un diseño estructurado de dos columnas para contar historias lado a lado y detalles de apoyo, o una vista limpia de una columna diseñada para narrativas ininterrumpidas de formato largo.

⚡ Campo principal todo en uno: Impulsado por el nuevo campo Campaign Hero, que reúne medios de fondo, barras de progreso en vivo, cantidades de donación personalizadas y pestañas de donaciones recurrentes en un solo bloque cohesivo que se puede insertar en cualquier diseño.

🎨 Coincidencia automática de temas: El banner principal y el widget de donación heredan automáticamente los colores de los botones y acentos de tu tema de campaña, asegurando que toda tu presentación se mantenga bellamente dentro de la marca sin tocar una línea de CSS.

Más información aquí.

Formulario de donación Función Nuevo

📝 Bloque de formulario de donación: Incrusta un formulario de donación funcional en cualquier lugar

Con el nuevo Bloque de formulario de donación para Charitable Pro, puedes colocar un formulario de donación completamente funcional directamente en cualquier página o publicación en el editor de bloques de WordPress. Sin redirecciones, sin recargas de página y sin fricción entre leer tu historia y hacer una contribución.

📝 Coloca formularios en cualquier lugar: Coloca un formulario funcional directamente en tu página de inicio, dentro de una publicación de blog basada en historias, en una página de destino dedicada o dentro de un anuncio de campaña.

🎯 Vinculación dinámica de campañas: Elige fácilmente una campaña específica desde la barra lateral del bloque o configúrala para que se vincule automáticamente a la campaña que se esté viendo actualmente.

📐 Vistas de formulario completas vs. mínimas: Cambia entre una vista de diseño completo o una vista mínima compacta para que encaje perfectamente en barras laterales, columnas estrechas o páginas de destino amplias.

🎨 Estilo sin código con ámbito: Personaliza la tipografía, el espaciado del contenedor, el radio del borde, los botones de cantidad y los colores de acento de forma independiente para cada instancia del formulario sin tocar una línea de CSS.

Más información aquí.

embajadores Nuevo

👤 Perfiles de creador: Ponga una cara a cada campaña P2P

Embajadores 3.3.0 ahora ofrece Perfiles de creador, dando a tus seguidores un hogar público permanente y compartible que convierte a los recaudadores de fondos puntuales en relaciones continuas.

👤 Páginas públicas de creador: Dale a cada recaudador de fondos una página de destino instantánea y limpia en /creator/their-name/ para mostrar su avatar personalizado, biografía y una cuadrícula navegable de sus campañas.

📊 Prueba de impacto: Aumenta la confianza de los donantes mostrando hitos en todo el sitio en el perfil, como la cantidad total de fondos recaudados y el número total de donantes.

💳 Tarjetas interactivas al pasar el ratón: Cuando los donantes pasen el ratón sobre el nombre de un creador en una página de campaña, una tarjeta compacta se expandirá con su biografía y perfiles sociales en el momento de la decisión.

📍 Compartir ubicación de forma responsable: Permite a los creadores mostrar de forma segura a los donantes locales dónde se encuentran utilizando solo detalles de ciudad, estado y país.

🛠️ Personalización autoservicio: Los recaudadores de fondos pueden actualizar sus propios perfiles y vincular hasta seis redes sociales directamente desde el centro Mis campañas, ahorrándote tiempo de administración.

¿Listo para empoderar a tus defensores? ¡Actualiza a Embajadores 3.3.0 y activa "Habilitar página pública de creador" hoy mismo!

Mejora Pagos

📱 Convierte a los que se desplazan en el móvil en donantes: Conoce la actualización Mollie de Charitable

¿Estás perdiendo seguidores móviles porque odian escribir números de tarjetas largos en sus teléfonos? La integración actualizada de Mollie de Charitable incluye:

⚡ Pago con billetera con un solo toque: Permite a los donantes completar sus donaciones al instante usando Apple Pay o Google Pay con un simple escaneo facial, huella digital o toque.

💰 Sin carga PCI adicional: Omite la compleja verificación de dominio y el cumplimiento de seguridad, ya que todas las transacciones de billetera se ejecutan de forma segura a través del pago alojado de Mollie.

🛠️ Enrutamiento de cancelación personalizado: Mantén la experiencia predecible enviando automáticamente a los donantes que se retiran a tu página de cancelación, o usa filtros de desarrollador para dirigirlos a una página personalizada.

Visita esta página para obtener más información.

embajadores mejorado Nuevo

Moderación y Pantallas de Directorio en Embajadores 3.0

Embajadores 3.0 tiene nuevas funcionalidades: pantallas de moderación y directorio… ahora puedes ver fácilmente quiénes están generando donaciones en tu red peer-to-peer – incluyendo a los creadores de campañas que podrían necesitar verificación – todo en un solo lugar. Genera informes, envía correos electrónicos directamente a embajadores y creadores de campañas, y más.

🚀 Ve cuándo los creadores de campañas y los embajadores han actualizado sus campañas, qué donantes/donaciones han aportado y más.

🎉 Añade manualmente embajadores y creadores de campañas, ¡y aprueba en un solo clic!

Visita esta página para obtener más información.