Svelare i segreti del file Comments.php di WordPress

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.

  1. Il backend PHP
  2. Codice generale
    1. Prevenire l'accesso diretto a comments.php
    2. È richiesta una password?
  3. Visualizzazione dei commenti
    1. Tag del modello di commento di base
    2. Il risultato finale
  4. Il modulo dei commenti
    1. Panoramica sulle dichiarazioni condizionali
    2. Inserire il modulo
  5. Alcuni piccoli trucchi
    1. Gravatars
    2. Numeri di commento
    3. Link ai commenti
    4. Modifica dei commenti
    5. Colori alternati per i commenti
    6. Visualizzazione dei tag consentiti
    7. Commenti Link RSS
  6. Conclusione

1. Il backend PHP

  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!


2. Codice generale

Prevenire l'accesso diretto a comments.php

 

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.

  

È richiesta una password?

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.


3. Visualizzazione dei commenti

  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.

 
  1. comment_approved == '0'):?>

    Il tuo commento è in attesa di approvazione

    Il tuo commento

Non ci sono commenti

Tag del modello di commento di base

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

Il risultato finale

 
  1. comment_approved == '0'):?>

    Il tuo commento è in attesa di approvazione

    di sopra a

Ancora 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.


4. Il modulo di commento

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.

Panoramica sulle dichiarazioni condizionali

        

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.

Inserire il modulo

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.

Registrato come /wp-admin/profile.php ">. /wp-login.php?action=logout "title =" Esci da questo account "> Esci»

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.

Registrato come /wp-admin/profile.php ">. /wp-login.php?action=logout "title =" Esci da questo account "> Esci»

ID); ?>

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).


5. Alcuni piccoli trucchi

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.

Gravatars

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:

Numeri di commento

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:

Link ai commenti

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

Modifica dei commenti

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:

Colori alternati per i commenti

È 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:

    Visualizzazione dei tag consentiti

    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:

    Commenti Link RSS

    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:

    6. Conclusione

    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:

    • gravatar,
    • colori di riga alternati,
    • modifica il link,
    • commenti rss link.

    Ovviamente, il link commenti non è incluso in quanto deve essere utilizzato all'interno del ciclo.

    Buona fortuna nelle tue avventure skinning in WordPress!