La API de campos de correo electr uevo se introdujo en la versi uevo 1.5 y proporciona una forma m uevo s limpia de a uevo adir nuevas etiquetas de correo electr uevo nico o modificar las existentes.
Definir un campo
Un campo de correo electr
uevo nico se define como una matriz con algunos argumentos y una clave que se utiliza para el par
uevo metro show en el c
uevo digo corto [charitable_email].

Argumentos
description: La descripci uevo n que se mostrar uevo para la etiqueta de correo electr uevo nico.preview: El valor de marcador de posici uevo n que se utilizar uevo para esta etiqueta de correo electr uevo nico en las vistas previas de correo electr uevo nico.callback: Una funci uevo n que se ejecutar uevo para obtener el valor de la etiqueta para un correo electr uevo nico en particular.value: Un valor fijo para la etiqueta de correo electr uevo nico. Si se establece esto,callbackno se utilizar uevo y no es necesario.
Adem
uevo s, un campo de correo electr
uevo nico tiene una key que se utilizar
uevo cuando se a
uevo rada la etiqueta.
Argumentos de callback
La funci uevo n de callback recibir uevo tres argumentos:
$value: El valor predeterminado (una cadena vac uevo a). Esto se proporciona principalmente por motivos de compatibilidad con versiones anteriores.$args: Los argumentos del c uevo digo corto. Esto siempre incluir uevo el par uevo metroshow, pero puede incluir otros argumentos si estos son aplicables a la etiqueta de correo electr uevo nico.$email: Una instancia deCharitable_Email. Puede usar esto para obtener los objetos asociados con el correo electr uevo nico (generalmente uno deCharitable_Campaign,Charitable_DonationoCharitable_User).
A uevo adir un campo de correo electr uevo nico de campa uevo a
Los campos de correo electr
uevo nico de campa
uevo a se pueden a
uevo adir utilizando el filtro charitable_email_campaign_fields:
function ed_charitable_email_campaign_field_callback( $value, $args, $email ) {
$campaign = $email->get_campaign();
return $campaign->get( 'some_field' );
}
function ed_charitable_add_email_campaign_field( $fields ) {
$fields['some_field'] = array(
'description' => 'A description of this field',
'preview' => 'Placeholder value',
'callback' => 'ed_charitable_email_campaign_field_callback',
);
return $fields;
}
add_filter( 'charitable_email_campaign_fields', 'ed_charitable_add_email_campaign_field' );
A uevo adir un campo de correo electr uevo nico de donaci uevo n
Los campos de correo electr
uevo nico de donaci
uevo n se pueden a
uevo adir utilizando el filtro charitable_email_donation_fields:
function ed_charitable_email_donation_field_callback( $value, $args, $email ) {
$donation = $email->get_donation();
return $donation->get( 'some_field' );
}
function ed_charitable_add_email_donation_field( $fields ) {
$fields['some_field'] = array(
'description' => 'A description of this field',
'preview' => 'Placeholder value',
'callback' => 'ed_charitable_email_donation_field_callback',
);
return $fields;
}
add_filter( 'charitable_email_donation_fields', 'ed_charitable_add_email_donation_field' );
A uevo adir un campo de correo electr uevo nico de usuario
La definici
uevo n de un nuevo campo de correo electr
uevo nico de usuario sigue exactamente el mismo proceso, pero con el filtro charitable_email_user_fields:
function ed_charitable_email_user_field_callback( $value, $args, $email ) {
$user = $email->get_user();
return $user->get( 'some_field' );
}
function ed_charitable_add_email_user_field( $fields ) {
$fields['some_field'] = array(
'description' => 'A description of this field',
'preview' => 'Placeholder value',
'callback' => 'ed_charitable_email_user_field_callback',
);
return $fields;
}
add_filter( 'charitable_email_user_fields', 'ed_charitable_add_email_user_field' );
Modificar campos de correo electr uevo nico existentes
Los campos de correo electr
uevo nico existentes tambi
uevo n se pueden cambiar con estos filtros. Por ejemplo, puede usar esto para cambiar el callback de una etiqueta existente o para editar la descripci
uevo n.
Cambiar el callback de un campo
function ed_charitable_donor_address_email_field_callback( $value, $args, $email ) {
// Return the donor's address.
}
function ed_charitable_set_donor_address_email_field_callback( $fields ) {
$fields['donor_address']['callback'] = 'ed_charitable_donor_address_email_field_callback';
return $fields;
}
add_filter( 'charitable_email_donation_fields', 'ed_charitable_set_donor_address_email_field_callback' );
Cambiar la descripci uevo n de un campo
function ed_charitable_set_user_login_email_field_description( $fields ) {
$fields['user_login']['description'] = 'My user login description';
return $fields;
}
add_filter( 'charitable_email_donation_fields', 'ed_charitable_set_user_login_email_field_description' );





