Come inviare email con dati di un form personalizzato usando WordPress
Ho un form HTML personalizzato con campi input e checkbox. Quando invio questo form voglio inviare una email con tutti i dettagli del form dallo stesso file php. Come posso inviare l'email da WordPress? Sono abbastanza nuovo e vi ringrazio per il vostro aiuto.

wp_mail
è la funzione che stai cercando.
Puoi prendere i dati del form inviati (ad esempio $_POST['email']
) e poi usarli per costruire ed eseguire la funzione wp_mail
. L'esempio qui sotto è stato preso da https://developer.wordpress.org/reference/functions/wp_mail/#user-contributed-notes
$to = $_POST['email']; //sendto@example.com
$subject = 'Oggetto della mail';
$body = 'Contenuto del corpo della mail';
$headers = array('Content-Type: text/html; charset=UTF-8');
wp_mail( $to, $subject, $body, $headers );
Inoltre lo script sopra dovrebbe controllare eventuali attacchi malevoli o input errati da parte dell'utente, ma la funzione wp_mail
ti permetterà di inviare l'email.
Fonte: https://developer.wordpress.org/reference/functions/wp_mail/

Dipende da come gestisci i tuoi moduli. Se hai lo stesso PHP in esecuzione nella pagina del template come il tuo modulo, allora puoi (anche se non lo consiglierei). Ti consiglio di dare un'occhiata a questi due link per avere un'idea su come gestire i moduli in PHP (https://www.w3schools.com/php/php_forms.asp e https://www.w3schools.com/php/php_form_complete.asp). Puoi anche usare un plugin come Contact Form 7 (https://wordpress.org/plugins/contact-form-7/) se non vuoi scrivere il PHP e lavorare direttamente nel WP-Admin.

Grazie, posso scrivere il corpo come HTML personalizzato in modo che la mia email possa avere un aspetto unico?

Se non vuoi scrivere il tuo codice (e il modulo di contatto), considera un plugin per i 'moduli di contatto'. Io uso (e raccomando) il plugin Contact Form 7. Ti permette di creare qualsiasi modulo, personalizzarne l'aspetto/la sensazione/i campi e l'email che viene inviata. Plugin molto potente e popolare. Sono disponibili molti altri plugin per aggiungere campi aggiuntivi.
L'unico problema minore è una documentazione tecnica scarsa e a volte difficile da trovare (e a volte datata) (come i filtri disponibili). Ma ho trovato delle soluzioni alternative.

ho un modulo personalizzato, posso usare il plugin del modulo di contatto per inviare le email?

Dovrai costruire il modulo tramite l'interfaccia del plugin. Anche se potrebbe essere possibile utilizzare il processo di "invio" di CF7, dovresti impostare molte variabili di CF7 per farlo funzionare bene, e queste variabili non sono ben documentate; dovresti esaminare il loro codice. Penso sia più semplice usare il generatore di moduli di CF7.

Un modo semplice per inviare un modulo è utilizzare un servizio backend per form come https://www.formkeep.com
Tutto quello che devi fare è modificare il tag action nel tuo modulo e il servizio backend memorizzerà i dati e fornirà modi per integrarli con altri sistemi.
Ecco un esempio di come modificare l'html del form. Dovrai semplicemente sostituire "example token" con una chiave fornita dal servizio formkeep
<form accept-charset="UTF-8" action="https://formkeep.com/f/exampletoken" method="POST">
