WordPress sembra essere ovunque in questi giorni, e non c'è da meravigliarsi con la sua facilità d'uso e facilità di personalizzazione. In questo tutorial, analizzerò la struttura comments.php del tema WordPress predefinito e ti fornirò vari frammenti di codice per rendere la tua skin più semplice.
Come riferimento, ho incluso anche un piccolo sommario.
post_password)):?> post_password):?> comment_approved == '0'):?>
Questo è il codice PHP raw che rende la funzione del file comments.php. Per un novizio, questo potrebbe sembrare intimidatorio. Tuttavia, non ti preoccupare: con questo tutorial tutto nel tuo file di commenti diventerà cristallino!
Questa riga di codice impedisce agli utenti di visualizzare comments.php per sbaglio. Questa pagina è destinata a essere inclusa in una pagina di post, non separatamente. Potresti considerare questo una misura di sicurezza. All'interno dell'istruzione, è possibile inserire qualsiasi messaggio che si desidera visualizzare alla persona che visualizza il file comments.php, preferibilmente a morire
dichiarazione.
post_password)):?> post_password):?>
Questa affermazione (beh, 2 in realtà, ma ha più senso se li si vede come uno) controlla se è necessaria una password per visualizzare il post. Ovviamente, se non hai la password per visualizzare il post, non sei autorizzato a visualizzare i commenti.
Il primo Se
controlla se è stata impostata una password. Il secondo Se
dichiarazione controlla se c'è un cookie con una password in atto e visualizza il messaggio corrispondente quando non è lì. È possibile personalizzare il messaggio di errore inserendo tutto ciò che si sceglie all'interno del secondo Se
dichiarazione.
comment_approved == '0'):?>
Questa prima dichiarazione condizionale (if ($ commenti)
) controlla se ci sono commenti e quindi li scorre attraverso a per ciascuno
dichiarazione. Dentro il per ciascuno
dichiarazione, noterete la seguente dichiarazione condizionale: if ($ comment-> comment_approved == '0')
. Questo controlla se il commento è stato approvato e mostra un messaggio se non è ancora stato approvato.
Un esempio di questo sarebbe il seguente pezzo di codice.
- comment_approved == '0'):?>
Il tuo commento è in attesa di approvazione
Il tuo commento
Non ci sono commenti
Per rendere questo un codice funzionale, è necessario utilizzare i tag modello forniti da WordPress.
Tag modello | Descrizione |
---|---|
| l'ID di un commento |
| l'autore di un commento |
| l'autore di un commento, avvolto con un link al suo sito web se ne ha specificato uno |
| il tipo di commento; pingback, trackback o un commento |
| il commento reale |
| la data in cui è stata pubblicata |
| l'ora in cui è stata pubblicata |
- comment_approved == '0'):?>
Il tuo commento è in attesa di approvazione
di sopra aAncora nessun commento
Inserendo questo in comments.php ti daremo un elenco ordinato con i commenti e le informazioni richieste o visualizzerai un messaggio che attesti che non ci sono commenti.
Mi stai ancora seguendo? Buono! Ci siamo quasi. Dobbiamo solo elaborare quel modulo di commento ... Ok, forse ho mentito sul fatto di essere lì. Il modulo di commento è in realtà una delle parti più difficili dell'intero file di skin di comments.php.
Sarai bombardato da diverse dichiarazioni condizionali (è richiesto un accesso, sei loggato, ...). Questa parte è dove la maggior parte degli sciatori di partenza ha più problemi: la mancata disposizione degli elementi del form potrebbe impedire il funzionamento del modulo affatto, senza dare un errore PHP specifico.
Per darti un'idea delle dichiarazioni condizionali coinvolte nel modulo di commento, spiegherò in primo luogo tali affermazioni e includerò l'HTML in seguito spiegando perché dovrebbe essere dove si trova.
La prima affermazione condizionale che incontri è . Questo fondamentalmente controlla se i commenti sono aperti. Ovviamente, se i commenti sono chiusi, non è possibile pubblicare un commento e il modulo di commento non è necessario. È possibile inserire il messaggio che si desidera visualizzare se i commenti sono chiusi tra l'ultimo
e
.
La seconda dichiarazione condizionale () verifica se è necessario essere registrati per pubblicare un commento e se si è connessi. Se l'istruzione condizionale è soddisfatta, lo script deve visualizzare un collegamento a un luogo in cui gli utenti possono accedere. Se la registrazione non è richiesta o se si è già loggato, lo script continuerà con
altro
parte e visualizza il modulo.
La nostra dichiarazione condizionale finale controlla quindi se sei loggato o meno. Ovviamente, se hai già effettuato l'accesso è inutile farti inserire di nuovo nome, email e sito web.
Congratulazioni, abbiamo raccolto tutte le istruzioni condizionali nel file comments.php. Ora, tutto ciò che rimane è aggiungere il modulo lì.
La prima cosa che posso sentire è che pensi: dove diavolo sta andando la forma? Bene, devi solo seguire il buon senso. La seconda istruzione condizionale verifica se è necessario accedere o meno, quindi non è necessario visualizzare alcun modulo fino a dopo questa dichiarazione. Quindi l'intera forma si trova all'interno di questa dichiarazione condizionale.
Devi essere /wp-login.php?redirect_to="> registrato per pubblicare un commento.
I commenti sono chiusi.
Ho anche inserito il link alla pagina di accesso, così come l'ho trovato nel commento.php predefinito. Come ho detto prima, l'ultima istruzione condizionale controlla se sei loggato o meno. Ovviamente, il nome, l'email e i campi di inserimento del sito web vengono visualizzati solo se non hai effettuato l'accesso. Buttiamoli lì!
Devi essere /wp-login.php?redirect_to="> registrato per pubblicare un commento.
I commenti sono chiusi.
Tutto apposto! Ci siamo quasi! Abbiamo solo bisogno di aggiungere alcune semplici righe di codice come una textarea e un pulsante di invio. Questi vanno dopo l'ultima dichiarazione condizionale, poiché è irrilevante per questi elementi se si è connessi o meno.
Devi essere /wp-login.php?redirect_to="> registrato per pubblicare un commento.
I commenti sono chiusi.
Questo codice dovrebbe essere abbastanza auto-esplicativo. Un campo textarea per il commento, un pulsante di invio, un campo di input nascosto con l'ID futuro dei commenti e uno snippet PHP (ID); ?>
) WordPress richiede di far funzionare la forma del commento.
Ecco! È tutto gente! Ora hai il tuo file comments.php completamente pronto. Visualizza questo file per ottenere tutto il codice PHP e HTML richiesto. Dovresti finire con questo (ho semplicemente sostituito il file comments.php della skin di default con il nostro e ho aggiunto un po 'di stile secondario ad esso).
Certo, ora hai solo un file comments.php di base. Ci sono un sacco di cose che potresti fare per migliorarlo ulteriormente. Elencherò alcuni piccoli suggerimenti e trucchi per aiutarti a raggiungere la tua strada.
A partire da WordPress 2.5, c'è un tag modello WordPress personalizzato per incorporare i gravatars. Prende il gravatar dall'e-mail che il visitatore ha inserito. Il codice per farlo è molto semplice.
Puoi sostituire $ email_autore
con l'elegante get_comment_author_email ();
funzione, $ dimensioni
è l'altezza (e la larghezza) dell'avatar e $ Default_avatar
è un collegamento all'immagine avatar predefinita (visualizzata quando il commentatore non ha gravatar).
Inserisci questo codice all'interno del per ciascuno
loop che visualizza i commenti. L'output è un'immagine con le classi avatar
e $ Dimensioni avatar-
(dove $ dimensioni
è la dimensione che hai specificato). Con alcune modifiche minori ai CSS, potresti finire con qualcosa di simile:
Ho intenzionalmente lasciato fuori le intestazioni nel file comments.php che abbiamo creato in seguito, poiché credevo che avrebbero fatto un eccesso di codice in un processo di apprendimento abbastanza difficile. Ovviamente, non li sto dimenticando però.
Di solito, le persone hanno un'intestazione che mostra qualcosa di simile a "3 commenti fino ad ora". Questo è davvero facile da ottenere grazie ai tag di modello offerti da WordPress.
È abbastanza auto-esplicativo: $ zero_comments
è il testo da visualizzare quando non ci sono commenti, $ one_comment
quando c'è un commento e $ more_comments
quando ci sono più commenti. Un esempio di vita reale sarebbe simile a questo:
ero solito %
per più commenti, dal momento che comments_number
la funzione sostituisce quindi %
con il numero di commenti (2, 3, ...)
Utilizzato nel nostro file comments.php, ti ritroverai con qualcosa di simile a questo:
Per visualizzare un collegamento alla parte dei commenti (con il numero di commenti visualizzati anche), è sufficiente utilizzare il seguente codice.
I primi 3 parametri in questa funzione sono gli stessi di sopra comments_number
funzione. $ css_class
è, ovviamente, la classe CSS che dai alla tag e
$ comments_closed
è il testo che dovrebbe essere visualizzato quando i commenti sono chiusi. Quando si applica questo a un tema, questo è un modo possibile per usarlo.
Questo ti darebbe quindi un collegamento con la classe Commenti-link
A volte vorrete modificare immediatamente un commento. Fortunatamente, con la funzione edit_comment_link, puoi facilmente andare alla pagina giusta per modificarla, invece di dover cercare il tuo pannello di amministrazione per raggiungere finalmente quel commento. L'utilizzo è come tale:
Devi metterlo dentro il per ciascuno
ciclo di commenti. I parametri sono abbastanza ovvi: $ LINK_TEXT
è il testo di ancoraggio per il collegamento di modifica, $ before_link
e $ after_link
rispettivamente sono il testo o il codice da visualizzare prima o dopo il collegamento.
Questo rende davvero facile cambiare un commento; potresti semplicemente aggiungere un piccolo link "Modifica" alle tue meta informazioni sui commenti (visualizzabili solo dall'amministratore). Questo è come potrebbe essere:
È possibile che tu voglia avere colori di riga alternati per i tuoi commenti, per fare una separazione più chiara. Fare questo è relativamente facile. Innanzitutto, aggiungi il seguente codice all'inizio della pagina:
function alternate_rows ($ i)
if ($ i% 2)
eco '';
altro
eco";
Quindi aggiungere il seguente all'interno del per ciascuno
loop (di nuovo). Potresti semplicemente sostituire con questo:
Questo darà ad ogni altro commento la classe alt
, rendendo così possibile cambiare il loro aspetto tramite CSS.
Ho deciso di creare una funzione per questo, per avere meno confusione nel tuo tema reale. Potresti aggiungere la definizione della funzione nel tuo file functions.php se vuoi, ma ha più senso, per me, averlo nella parte superiore della pagina.
Le righe alternate semplificano la distinzione di commenti diversi; una volta implementato potresti avere qualcosa di simile a questo:
Per visualizzare il codice che i visitatori possono usare nei loro commenti, usa semplicemente questo piccolo frammento.
Tag consentiti:
Quindi otterrai semplicemente un elenco dei tag ammessi nei tuoi commenti, come questo:
Per ottenere un collegamento al feed RSS per i commenti di un determinato post, è sufficiente inserire il codice di seguito nel file comments.php nel punto in cui si desidera che sia.
Quindi semplicemente sostituire $ link_test
con il testo di ancoraggio per il collegamento RSS.
Questo può tornare utile se vuoi dare ai tuoi visitatori l'opportunità di iscriversi al feed dei commenti per un articolo o un post sul blog specifico. Potresti implementarlo in questo modo:
Spero che ti sia piaciuto questo * piccolo * articolo su skinning del tuo file comments.php di WordPress. Puoi ottenere il codice completo qui, con i trucchi che ho mostrato inclusi in esso:
Ovviamente, il link commenti non è incluso in quanto deve essere utilizzato all'interno del ciclo.
Buona fortuna nelle tue avventure skinning in WordPress!