La extensión Checkout Fields Manager te permite crear campos personalizados para tu formulario de pago. Esto facilita la recopilación de datos de tus clientes. Puedes verlos fácilmente en la página Historial de pagos, pero ¿y si quieres que se impriman en el recibo para que el cliente los vea? Este documento te ayudará con eso.
Ejemplo de botones de radio
En este ejemplo, utilizaremos un campo personalizado de botones de radio, titulado "¿Estás satisfecho con este proceso de compra?". La clave meta para este campo se generó automáticamente como are_you_happy_with_this_purchase_process, y simplemente hemos creado una opción de respuesta Sí/No. Ver abajo.

Dado que vamos a mostrar esta información en el recibo del cliente, echemos un vistazo a esa plantilla. La plantilla que queremos se llama shortcode-receipt.php. Lee nuestra documentación sobre cómo mover esta plantilla a tu tema.
Cerca de la parte superior de ese archivo encontrarás este código:
$payment = get_post( $edd_receipt_args['id'] );
que crea un objeto para este pago. En el resto de este archivo, ahora podemos encontrar el ID de este pago bajo $payment->ID.
En el ejemplo anterior, la clave meta es are_you_happy_with_this_purchase_process. Ahora que tenemos tanto el ID como la clave meta, podemos obtener el valor con este código:
get_post_meta( $payment->ID, 'are_you_happy_with_this_purchase_process', true )
Nota: el 'true' en el ejemplo anterior indica que esperamos un solo valor de get_post_meta(). Checkout Fields Manager devuelve un solo valor para todos los tipos de campo que ofrece.
Imprimir en el recibo
En el ejemplo anterior obtuvimos el valor que queríamos, pero ahora queremos mostrarlo de forma agradable en los recibos. En shortcode-receipt.php encontrarás una tabla HTML con un ID de CSS de edd_purchase_receipt. Puedes copiar esta tabla y cambiar los valores. Aquí tienes un ejemplo de encabezado de tabla:
Then we can print a table row for the above question, like this:
Multi-answer Example
Some field types allow for multiple answers from a customer. Check boxes allow the customer to select multiple things for example. This is still stored as a single item in meta data; it’s a single array with multiple key/value pairs. How it gets rendered is slightly different from above, however.
Here’s a custom field asking the customer what their favorite animal is:
Rendering it in our HTML table would look like this:
ID, 'favorite_animal', true ) as $animal ) { $animals .= '
As you can see it’s only slightly more complicated than the first example.
Wrapping Up
Putting together the two code samples from above, we end up with something like this:
| ID ), 'are_you_happy_with_this_purchase_process', true ) ) ); ?> | |
| ID ), 'are_you_happy_with_this_purchase_process', true ) ) ); ?> | |
Which will look like this: 
Puntos clave
- Para mostrar las respuestas de los Campos Personalizados en tus recibos, copia el archivo shortcode-receipt.php a tu tema y pon tu código allí.
- Obtener los datos es simplemente hacer una llamada a get_post_meta() en la Clave Meta proporcionada en el área de administración.
- Todas las claves de Custom Fields Manager se almacenan como individuales en la tabla post_meta.
Nota: Easy Digital Downloads no proporciona soporte para codificación/desarrollo personalizado. Si es necesario, recomendamos contratar a un desarrollador a través de Codeable para realizar los cambios personalizados que necesite.

