<html lang="it-it" dir="ltr"><head></head><body># Gestore Campi Checkout - Recupero Metadati

 L'estensione [Checkout Fields Manager](https://easydigitaldownloads.com/downloads/checkout-fields-manager/) ti permette di creare campi personalizzati per il tuo modulo di checkout. Questo rende facile raccogliere dati dai tuoi clienti. Puoi vederli facilmente nella pagina Cronologia Pagamenti, ma cosa succede se vuoi che vengano stampati sulla ricevuta affinché il cliente possa vederli? Questo documento ti aiuterà in questo.

### Esempio Pulsanti Radio

 In questo esempio utilizzeremo un campo personalizzato a pulsanti radio, intitolato "Sei soddisfatto del processo di acquisto?". La chiave meta per questo campo è stata generata automaticamente come `are_you_happy_with_this_purchase_process`, e abbiamo semplicemente creato un'opzione di risposta Sì/No. Vedi sotto.

 ![](https://easydigitaldownloads.com/wp-content/uploads/2022/07/6184cce5bd556.png)

 Dato che renderizzeremo queste informazioni sulla ricevuta del cliente, diamo un'occhiata a quel template. Il template che vogliamo si chiama shortcode-receipt.php. [Leggi la nostra documentazione su come spostare questo template nel tuo tema](https://easydigitaldownloads.com/docs/moving-edd-templates-to-your-theme/).

 Vicino all'inizio di quel file troverai questo codice:

```
$payment = get_post( $edd_receipt_args['id'] );
```

 che crea un oggetto per questo pagamento. Nel resto di questo file possiamo ora trovare l'ID per questo pagamento sotto `$payment-&gt;ID`.

 Nell'esempio sopra la Chiave Meta è `are_you_happy_with_this_purchase_process`. Ora che abbiamo sia l'ID che la Chiave Meta possiamo ottenere il valore con questo codice:

```
get_post_meta( $payment-&gt;ID, 'are_you_happy_with_this_purchase_process', true )
```

 **Nota**: il 'true' nell'esempio sopra indica che ci aspettiamo un singolo valore da get_post_meta(). Checkout Fields Manager restituisce un singolo valore per tutti i tipi di campo che offre.

### Stampa sulla Ricevuta

 Nell'esempio sopra abbiamo ottenuto il valore desiderato, ma ora vogliamo renderizzarlo in modo gradevole nelle ricevute. In `shortcode-receipt.php` troverai una tabella HTML con un ID CSS di edd_purchase_receipt. Puoi copiare questa tabella e cambiare i valori. Ecco un esempio di intestazione di tabella:

```
```

   **_e( 'Domande del mio negozio', 'easy-digital-downloads' ); ?**    Quindi possiamo stampare una riga di tabella per la domanda sopra, così:

```

    <strong><!--?php _e( 'Are you happy with this purchase process?', 'easy-digital-downloads' ); ?--></strong>
    <!--?php echo strip_tags( esc_html( get_post_meta( absint( $payment--->ID ), 'are_you_happy_with_this_purchase_process', true ) ) ); ?&gt;

```

### Esempio Risposte Multiple

 Alcuni tipi di campo consentono risposte multiple da parte del cliente. Le caselle di controllo, ad esempio, consentono al cliente di selezionare più elementi. Questo viene comunque memorizzato come un singolo elemento nei metadati; è un singolo array con più coppie chiave/valore. Il modo in cui viene renderizzato è leggermente diverso da quanto visto sopra, tuttavia.

 Ecco un campo personalizzato che chiede al cliente qual è il suo animale preferito:

 ![](https://easydigitaldownloads.com/wp-content/uploads/2022/07/6184cce61a057.png)

 Renderizzarlo nella nostra tabella HTML sarebbe così:

```

    <strong><!--?php _e( 'Favorite animal?', 'easy-digital-downloads' ); ?--></strong>
    <!--?php // crea una variabile vuota per le risposte
        $animals = '';

	// scorri le risposte, creando elementi di lista
        foreach ( get_post_meta( $payment--->ID, 'favorite_animal', true ) as $animal ) {
            $animals .= '<li>' . $animal . '</li>' . "
"; 
        }

	// stampa la riga della tabella, racchiudendo i risultati nei tag di lista non ordinata, ed eseguendo l'escape con wp_kses_post()
    ?&gt;
    <ul><!--?php echo wp_kses_post( $animals ); ?--></ul>

```

 Come puoi vedere è solo leggermente più complicato del primo esempio.

### Riepilogo

 Mettendo insieme i due campioni di codice sopra, otteniamo qualcosa di simile a questo:

```
```

   **_e( 'Domande del mio negozio', 'easy-digital-downloads' ); ?**     **_e( 'Are you happy with this purchase process?', 'easy-digital-downloads' ); ?** echo strip_tags( esc_html( get_post_meta( absint( $payment-&gt;ID ), 'are_you_happy_with_this_purchase_process', true ) ) ); ?&gt;   **_e( 'Favorite animal?', 'easy-digital-downloads' ); ?** // crea una variabile vuota per le risposte
            $animals = '';

            // scorri le risposte, creando un elemento di lista
            foreach ( get_post_meta( $payment-&gt;ID, 'favorite_animal', true ) as $animal ) { $animals .= '4. ' . $animal . '
' . "
"; } // stampa la riga della tabella, racchiudendo i risultati nei tag di lista non ordinata, ed eseguendo l'escape con wp_kses_post() ?&gt; echo wp_kses_post( $animals ); ?
   Che apparirà così: ![](https://easydigitaldownloads.com/wp-content/uploads/2022/07/6184cce671397.png)

### Punti Chiave

- Per renderizzare le risposte dei Campi Personalizzati sulle tue ricevute, copia il file shortcode-receipt.php nel tuo tema e inserisci il tuo codice lì
- Ottenere i dati è semplicemente una chiamata a get_post_meta() sulla Chiave Meta fornita nell'area admin
- Tutte le chiavi di Custom Fields Manager sono memorizzate come singole nella tabella post_meta.

 **Nota:** Easy Digital Downloads non fornisce supporto per codici/sviluppo personalizzati. Se necessario, ti consigliamo di assumere uno sviluppatore tramite [Codeable](https://easydigitaldownloads.com/customize-easy-digital-downloads/) per apportare le modifiche personalizzate di cui hai bisogno.</body></html>