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!

embajadores Nuevo

🖨️ Presentamos Folletos y Carteles: ¡Recauda fondos fuera de la pantalla!

Gran parte de la recaudación de fondos entre particulares ocurre fuera de la pantalla: en la meta de una carrera de 5 km, en un tablón de anuncios escolar, en la cocina de una oficina. Charitable Ambassadors 3.4.7 añade 2 imprimibles: un folleto de recaudación de fondos que lleva la propia historia y código QR de cada recaudador, y un cartel de reclutamiento que inscribe a nuevos recaudadores. Ambos se abren como una página web normal y se imprimen directamente desde el navegador. Por qué esto es importante:

  • 🏁 Un folleto para cada recaudador: Cada uno lleva la foto, la historia y el objetivo del recaudador, con un código QR que abre su página en lugar de la de tu campaña principal.
  • 📌 Un cartel que recluta: Muestra "Reclutando ahora" encima del nombre de tu campaña con un gran código QR que abre tu formulario de inscripción, para que alguien pueda empezar a recaudar fondos sin esperar un enlace tuyo.
  • 🪄 No se necesita herramienta de diseño: Ambos imprimibles se muestran como una página web normal y se imprimen desde el navegador, sin necesidad de plugin PDF ni diseñador.
  • 📄 2 diseños de folleto: "Repartir" lleva la historia completa para dar a amigos y familiares, y "Colgar" lleva un breve gancho con 5 pestañas para arrancar para un tablón de anuncios.
  • 🛡️ Desactivado hasta que lo actives: Los folletos permanecen desactivados después de la actualización hasta que los habilites en Charitable » Ambassadors » Other » Fliers, y solo el propietario o un administrador puede abrir uno.

Consulta nuestro anuncio aquí.

Mejora Pagos

💸 Presentamos las tarifas escalonadas para el alivio de comisiones: ¡Ajusta la petición a la donación!

El alivio de comisiones hace una pregunta corta a tus donantes al finalizar la compra: ¿te gustaría cubrir la comisión de procesamiento de esta donación? Hasta ahora, esa pregunta utilizaba una única tarifa para cada donación en una pasarela, por lo que una donación de 10 $ y una de 500 $ recibían la misma pregunta de porcentaje. El alivio de comisiones 1.3.0 te permite establecer tantas bandas de donación como desees, cada una con su propia tarifa. Por qué esto es importante:

  • 🪙 Más suave con las donaciones pequeñas: Una comisión de transacción fija supone una parte mucho mayor de una donación de 10 $ que de una de 500 $, por lo que las bandas te permiten pedir menos en la parte inferior.
  • 🎚️ Tantas bandas como necesites: Cada banda tiene su propio porcentaje y su propio importe fijo, y la banda superior continúa sin límite superior.
  • 🛑 Un techo opcional: Un campo de comisión máxima evita que se pida a ningún donante más de una cantidad que tú elijas, por muy grande que sea la donación.
  • 🔌 Configurar por pasarela de pago: Stripe puede funcionar con cuatro bandas, mientras que Windcave y Payfast se mantienen con una tarifa única, ya que las bandas pertenecen a una pasarela y no a todo tu sitio.
  • 🛡️ Nada cambia hasta que tú lo digas: Tus tarifas actuales se mantienen exactamente como están hasta que actives Usar tarifas escalonadas en Charitable » Settings » Advanced » Fee Relief.

Consulta nuestro anuncio aquí.

Donaciones Mejora

📊 ¡Tu panel de control Pro ahora puede comparar, exportar y calificar!

La mayoría de los paneles de control de recaudación de fondos solo te dicen cuánto has recaudado. Charitable Pro 1.8.19 reconstruye el panel de control y la Descripción general de informes en torno a las preguntas más difíciles: si algo está roto, si este período superó al anterior y qué cambio único marcaría la mayor diferencia hoy. Por qué esto es importante:

  • 📈 Cada cifra tiene una tendencia: Elige un período y las fichas y el gráfico se mueven juntos, con cada total mostrado frente al período anterior.
  • 🗓️ Gráficos que se mantienen legibles: Los rangos cortos agrupan las donaciones día a día, mientras que los rangos más largos agrupan por semana o mes, por lo que un año completo se lee como una curva en lugar de una línea plana.
  • 🔀 Compara cualquier 2 períodos: No solo los consecutivos, para que puedas preguntar cómo fue este diciembre en comparación con el diciembre pasado. Eso importa porque la recaudación de fondos es estacional.
  • 📤 Exporta el resumen completo: Envía la descripción general completa como CSV o PDF, lista para un paquete de junta directiva o un informe de financiador.
  • 🎯 Califica tu configuración gratis: Haz que tu configuración de recaudación de fondos sea calificada, para que el único cambio que valga la pena hacer a continuación sea el que puedas ver.

Consulta nuestro anuncio aquí.

Función Nuevo

🎟️ Presentamos Eventos Benéficos: ¡Vende entradas dentro de tus campañas!

La mayoría de las organizaciones sin ánimo de lucro venden entradas para eventos en una herramienta y recaudan donaciones en otra, lo que genera dos conjuntos de informes y una conciliación manual al final del año. Eventos Benéficos une ambas cosas, vendiendo entradas a través de los mismos formularios de donación y pasarelas de pago que ya utilizas en Charitable. Por qué esto es importante:

  • 🎟️ Cada entrada es una donación: Las ventas de entradas se procesan a través de la pasarela que ya utilizas y cuentan para el objetivo de la campaña, con todo gestionado en Charitable » Eventos.
  • 📱 Registro con código QR desde cualquier teléfono: Cada asistente recibe su propio código QR en el recibo, y los voluntarios escanean en la puerta a través de un enlace de registro que no necesita cuenta de WordPress.
  • 🧾 Recibos listos para la declaración de impuestos: Asigna a cada tipo de entrada un valor justo de mercado, y Charitable incluirá el importe correcto deducible de impuestos en cada recibo de donante.
  • 📋 Detalles del asistente al finalizar la compra: Pregunta a cada invitado por su elección de comida, talla de camiseta o necesidades de acceso, con un registro de asistente independiente creado para cada entrada.
  • 🗓️ Bloques y calendarios incluidos: Tres bloques de editor, además de la compatibilidad con Sugar Calendar y The Events Calendar, muestran tus eventos donde los colaboradores ya los buscan.

Consulta nuestro anuncio aquí.

ia Nuevo

🚀 ¡Libera el poder de la IA en Charitable!

Tu asistente de IA ahora puede crear, editar y administrar tus campañas de recaudación de fondos de Charitable directamente, solo con pedírselo. Con Charitable Pro añadiendo soporte de escritura para la API de Habilidades de WordPress, herramientas como ChatGPT, Claude y Cursor pueden manejar acciones administrativas completas de forma segura a través de MCP. Por qué esto es importante:

  • 🤖 Creación de campañas en lenguaje natural: Pídele a tu asistente un objetivo como “Configura una recaudación de fondos para el refugio con un objetivo de 5.000 $”, y creará un borrador de campaña real completo con niveles de donación sugeridos.
  • 🎨 Ajustes instantáneos del formulario de donación: Añade campos personalizados, cambia los colores de los botones o reordena elementos sin tener que entrar en la configuración del formulario.
  • 📝 Registro de donaciones sin conexión: Informa a tu asistente sobre donaciones en efectivo o cheque, y cruzará los correos electrónicos de los donantes y registrará las transacciones en tu historial.
  • 🛡️ Seguridad y control por defecto: El acceso de escritura permanece estrictamente desactivado hasta que se active en Charitable » Herramientas » AI MCP, manteniendo el informe de solo lectura seguro por defecto.
  • 📜 Registro de auditoría completo: Cada cambio realizado por un asistente de IA se rastrea en Charitable » Herramientas » Registros, por lo que siempre sabrás quién (o qué) actualizó tu sitio.

Consulta nuestro anuncio aquí.