Sia che stiate iniziando un semplice blog, creando un sito Web aziendale o creando un portfolio creativo con WordPress, una pagina "Contatti (Us)" è (quasi) sempre necessaria ed è (quasi) sempre meglio avere un modulo di contatto invece di condividere il tuo indirizzo e-mail pubblicamente (i robot spam li adorano, però). Naturalmente, ci sono un sacco di ottimi plug-in per i form di contatto per WordPress, ma perché gonfiare il sito web con estesi plugin con molte query di database, quando invece possiamo usare solo un delizioso plugin per shortcode personalizzato.?
I plugin sono fantastici, ma troppi di essi con molte funzionalità che non ti servono possono gonfiare il tuo sito web usando connessioni di database, eseguendo codice PHP aggiuntivo, aggiungendo fogli di stile CSS e file JS alla tua intestazione ... quindi, ad un certo punto, tu voglio solo stare lontano dai plugin esistenti, indipendentemente da quanto sia fantastico il plugin che vuoi usare.
Se non sai come codificare, devo ammettere che le tue mani sono (specie) legate e che sei destinato a usare i plugin. Ma se hai familiarità con lo sviluppo di WordPress a qualsiasi livello (e presumo che tu lo sia, dal momento che sei ancora con me), allora dovresti considerare i vantaggi di hackerare il tuo tema o codificare il tuo plugin. Ecco i vantaggi nella mia mente:
Va bene, basta con la chat chit - iniziamo a programmare! Non abbiamo intenzione di gestire enormi quantità di codice o qualsiasi tipo di duro lavoro qui, quindi anche se sei un principiante in PHP e / o WordPress, puoi capire il codice seguendo il mio esempio e ricercando qualsiasi parte del codice codice che non riconosci.
È possibile inserire questo codice direttamente sul tema functions.php file, ma un modo migliore per usarlo è come un plugin. In questo modo quando cambi temi, non perdi funzionalità e finisci con lo shortcode stampato nel tuo contenuto. Iniziamo con le informazioni del plug-in standard:
[email di contatto = "[email protected]"] Versione: 1.0 Autore: Barış Ünver Autore URI: http://beyn.org/ * / // Questa linea di commenti contiene il posto del codice sorprendentemente semplice che stiamo per scrivere. Quindi non hai davvero bisogno di leggere questo. ?>
get_the_ip ()
Come puoi intuire dal nome della funzione, stiamo ottenendo il vero indirizzo IP dell'utente, anche se l'utente si sta connettendo attraverso un server proxy. Ovviamente non è a prova di proiettile, ma lo utilizzeremo comunque come ulteriore informazione dell'utente.
Fondamentalmente, cercheremo di ottenere il diverso $ _SERVER
variabili: HTTP_X_FORWARDED_FOR
, HTTP_CLIENT_IP
e REMOTE_ADDR
, rispettivamente. Ecco il codice:
function wptuts_get_the_ip () if (isset ($ _ SERVER ["HTTP_X_FORWARDED_FOR"])) return $ _SERVER ["HTTP_X_FORWARDED_FOR"]; elseif (isset ($ _ SERVER ["HTTP_CLIENT_IP"])) return $ _SERVER ["HTTP_CLIENT_IP"]; else return $ _SERVER ["REMOTE_ADDR"];
Se segui i miei post qui su Wptuts +, lo sai che sono assolutamente amore API Shortcode di WordPress.
Ho intenzione di dividere lo shortcode in 3 sezioni per poterlo spiegare meglio, ma non dimentichiamo di aprire e chiudere prima la funzione shortcode:
function wptuts_contact_form_sc ($ atts) // Anche questa riga di commento mantiene il posto dello shortcode geniale ma semplice che crea il nostro modulo di contatto. Eppure stai ancora sprecando il tuo tempo per leggere questo commento. Bravo. add_shortcode ('contact', 'wptuts_contact_form_sc');
Dobbiamo impostare alcune attributi per rimanere flessibile pur rimanendo leggero. Ecco dieci:
extract (shortcode_atts (array (// se non si fornisce un indirizzo e-mail, lo shortcode sceglierà l'indirizzo e-mail dell'amministratore: "email" => get_bloginfo ('admin_email'), "subject" => "", "label_name" => "Nome", "label_email" => "Indirizzo e-mail", "label_subject" => "Oggetto", "label_message" => "Il tuo messaggio", "label_submit" => "Invia", // il messaggio di errore quando almeno uno dei campi richiesti è vuoto: "error_empty" => "Si prega di compilare tutti i campi richiesti.", // il messaggio di errore quando l'indirizzo e-mail non è valido : "error_noemail" => "Inserisci un indirizzo e-mail valido.", // e il messaggio di successo quando viene inviata l'e-mail: "successo" => "Grazie per la tua e-mail! a voi appena possibile. "), $ atts));
Ricorda che li faremo riferimento nel nostro codice come variabile con il nome dell'attributo (ad es. $ label_submit
).
Questa è la parte più importante della funzione, quindi vado avanti e spiegherò il codice all'interno del codice, con le righe di commento:
// se la';
Mancia: Se hai guardato attentamente il codice HTML del modulo di contatto, probabilmente hai visto l'extra $ subject
variabile. Ricorda l'attributo shortcode 'subject' senza valore predefinito? Ciò significa che è possibile utilizzare lo shortcode come questo, se si desidera impostare un oggetto predefinito: [contact subject = "Domanda di lavoro"]
ritorno
dello ShortcodeQuesto ultimo bit è piuttosto semplice: mostra il messaggio di successo se viene inviata l'e-mail, o il modulo e-mail e il messaggio di errore (se ce n'è uno). Ecco il codice:
se ($ inviato == true) return $ info; else return $ info. $ Email_form;
Non visualizzeremo di nuovo il modulo se l'e-mail è stata inviata, ma se vuoi mostrarla comunque, puoi usare questa semplice linea invece:
restituire $ informazioni. $ Email_form;
Certo, il codice da solo non sarebbe eccezionale. Con un po 'di trucco, CSS, possiamo rendere più bella la nostra forma. Aggiungi queste righe di codice CSS nel tuo style.css file del tuo tema:
.etichetta del modulo di contatto, .contact-form input, .contact-form textarea display: block; margine: 10px 0; . etichetta contact-form dimensione font: più grande; . input di forma di contatto padding: 5px; #cf_message width: 90%; imbottitura: 10px; #cf_send padding: 5px 10px;
Se hai fatto tutto bene, vedrai qualcosa di simile all'immagine qui sotto:
Congratulazioni, hai appena creato il tuo shortcode con il modulo di contatto!
Questo semplice modulo di contatto è adeguato per la maggior parte dei siti Web, ma se si desidera aggiungere ulteriori campi, è sufficiente modificare il modulo e aggiungere il $ Form_data [ 'name_of_the_new_field']
variabili nel $ email_message
variabile (e magari aggiungere il nome del campo al $ required_fields
schieramento.
Se hai qualche idea su come migliorare questo codice o mostrare le pagine del tuo sito web in cui lo hai usato, ti preghiamo di condividere il tuo commento con noi qui sotto!