<html lang="it-it" dir="ltr"><head></head><body># Documentazione per lo sviluppatore di EDD Frontend Submissions

 [Frontend Submissions](https://easydigitaldownloads.com/downloads/frontend-submissions/) ha una serie di funzionalità che possono essere utilizzate a livello di programmazione.

### Rendi un utente un venditore

 Frontend Submissions ha una funzione di supporto chiamata **make\_user\_vendor()** che fa due cose contemporaneamente:

- rende un utente un venditore
- cambia lo stato di quel nuovo venditore in Approvato

 Può essere eseguita ovunque e si presenta così:

```
EDD_FES()-&gt;vendors-&gt;make_user_vendor( $user_id );
```

 **Importante**: il parametro ID utilizzato sopra è l'ID utente di WordPress.

### Cambia lo stato di un venditore

 Ci sono tre stati che un Venditore può avere:

- Approvato
- In attesa
- Sospeso

 Ci sono anche due azioni che possono essere intraprese:

- Annulla sospensione
- Revoca

 Tutte queste utilizzano lo stesso metodo, ma stati e azioni sono cose diverse. Ecco come funziona.

 Per prima cosa devi istanziare un oggetto Frontend Submissions come uno di questi:

```
// Esempio che mostra l'input richiesto
$vendor = new FES_Vendor( $_id_or_email = false, $by_user_id = false );
```

```
// utilizzando un ID venditore
$vendor = new FES_Vendor( 14, false );

// utilizzando l'indirizzo email associato all'ID venditore
$vendor = new FES_Vendor( 'user@example.com', true );
```

 In secondo luogo, esegui il metodo `change_status()` su quell'oggetto, simile a uno di questi esempi:

```
// Esempio che mostra l'input richiesto
$vendor-&gt;change_status( $new_status = '', $in_admin = false, $output = false );
```

 L'input `$in_admin` ti consente di dichiarare se questa azione debba essere consentita nel contesto dell'area di amministrazione o al di fuori di essa. Potresti voler consentire questa modifica all'interno dell'area di amministrazione, ma non al di fuori di essa, ad esempio.

```
// Imposta un venditore su approvato, all'interno dell'area di amministrazione, senza output
$vendor-&gt;change_status( 'approved' );

// Imposta un venditore su in attesa, all'esterno dell'area di amministrazione, senza output
$vendor-&gt;change_status( 'pending', true );

// Imposta un venditore su sospeso, all'esterno dell'area di amministrazione, senza output
$vendor-&gt;change_status( 'suspended', true, true );
```

 Oltre alle modifiche di stato sopra menzionate, puoi eseguire queste azioni:

```
// Revoca un venditore, all'interno dell'area di amministrazione, senza output.  
// Questo renderà effettivamente un utente NON un venditore e rimuoverà tutti i loro prodotti.
$vendor-&gt;change_status( 'revoke' );

// Cambia un utente da sospeso ad approvato. A questo punto è identico all'impostazione
// di un utente su approvato, ma in futuro potrebbe contenere alcune funzionalità aggiuntive.
$vendor-&gt;change_status( 'unsuspend' );
```</body></html>