È da un po' che non scrivo qualcosa su WordPress. Pertanto, oggi condividerò con te come modificare manualmente il modulo dei commenti in WordPress. Penso che questa conoscenza possa essere utile a qualsiasi blogger alle prime armi, perché la forma del commento a volte è l'unico mezzo di comunicazione tra i visitatori e l'autore. Non passare :)
Prima di iniziare qualsiasi manipolazione con il codice, voglio avvisarti in anticipo che modificheremo i file di WordPress stesso e non i file del tema. Sì, ad alcuni può sembrare pericoloso, ad altri inutile e ad altri semplicemente non piacerà :) Ma l'ho fatto esattamente così e non ho avuto problemi. Ti consiglio di fare un backup del file che stai modificando prima di iniziare.
Vi avevo avvisato sulla sicurezza, ora voglio mostrarvi il risultato a cui sono arrivato.
Come possiamo vedere, la riga “La tua email non verrà pubblicata” è stata rimossa. I campi richiesti sono contrassegnati *". Non è necessario considerare i visitatori come idioti senza cervello. Capiscono già cosa deve essere compilato e cosa no. Ho anche nascosto i nomi dei campi all'interno dei campi stessi. A cosa servono queste note in grassetto? La maggior parte dei visitatori, anche senza nomi di campo, può determinare "a occhio" quale appartiene a cosa. Ma i suggerimenti interni devono essere ancora presenti. Bene, la didascalia nel campo dei commenti ha perso la sua inutile audacia. Secondo me, è diventato molto migliore e più libero.
Quindi cambiamo tutto velocemente! ;)
Andiamo nella cartella del nostro sito e al suo interno troviamo il file wp-includes/comment-template.php. Stiamo cercando la riga 1522, sì, è esattamente quella. Come l'ho trovato io stesso è tutta una storia, te ne parlerò un po' più tardi :)
Quindi, apri il file per la modifica e vai alla riga 1522. Ora esso e quanto segue (fino al 1529) sono approssimativamente così:
$campi = array("autore" => "
", "e-mail" => "" . __("E-mail") . " " . ($req ? "*" : "") . "
", "URL" => "" . __("Sito web") . "" . "
",);Com'è tutto semplice e chiaro. Basta solo tagliare tutto l'eccesso e aggiungerne un po'. Il parametro verrà aggiunto
Segnaposto="Testo di aiuto" !}
Questa opzione ti consente di visualizzare qualsiasi testo all'interno dei campi. Lo usiamo per visualizzare i suggerimenti:
"
" "" ""Elimineremo le righe:
"
" . __("E-mail") . " " . ($req ? "*" : "") "
" . __("Sito web") . ""
Sono responsabili della visualizzazione delle didascalie sopra i campi.
Come risultato di TUTTE queste manipolazioni, otteniamo quanto segue:
$campi = array("autore" => "
", "e-mail" => "", "URL" => "",);Non resta che rimuovere lo stupido suggerimento “La tua email non verrà pubblicata. I campi richiesti sono contrassegnati *". Per fare ciò, cancella la riga (circa 1537):
"comment_notes_before" => "
" . __("Il tuo indirizzo email non verrà pubblicato.") . ($req ? $required_text: "") . "
",Sembra che sia tutto, ora la nostra forma è diventata un po' più attraente. Spero che queste informazioni siano utili a qualcuno :)
Iscriviti, commenta, sarò felice di ricevere eventuali commenti adeguati. Forse non so qualcosa anch'io e può essere fatto diversamente, condividi i tuoi pensieri.
WordPress ha diversi tipi di contenuti come post, pagine, commenti. WordPress è una piattaforma molto flessibile che ti consente di personalizzare i contenuti di base per adattarli al tuo sito. È possibile modificare l'aspetto e la funzionalità. In questo tutorial ti mostreremo come modificare il comportamento e l'aspetto dei commenti su un sito WordPress.
Passaggio 1. Comprendere la funzione comment_form e i suoi argomentiDiamo un'occhiata alla funzione comment_form di WordPress. È responsabile della visualizzazione del modulo di commento che appare sulla pagina o sul post. La chiamata a questa funzione si trova principalmente nel file comments.php nella cartella del tema. Questo file è contenuto in diversi posti, ad esempio nei file single.php e page.php, direttamente o tramite una chiamata alla funzione comments_template.
La descrizione della funzione può essere trovata nel Codex WordPress.
Se utilizzi la funzione comment_form per visualizzare un modulo, verrà visualizzato utilizzando i parametri predefiniti e conterrà campi come nome, email (entrambi i campi sono obbligatori), sito Web e contenuto dei commenti. Nel tema predefinito Twenty Eleven, il modulo sarà simile a questo.
Alcuni argomenti importanti per la funzione comment_form:
- campi: puoi usarlo per controllare la visualizzazione dei campi nel modulo dei commenti.
- comment_notes_before e comment_notes_after - utilizzati per visualizzare le informazioni prima e dopo il modulo.
- title_reply: utilizzato per modificare il titolo della risposta, che per impostazione predefinita è "Lascia una risposta".
- label_submit: utilizzato per modificare il testo sul pulsante di invio del commento.
Ora impostiamo il nostro modulo di commento passando gli argomenti alla funzione comment_form.
Nel caso in cui volessimo personalizzare i campi nel modulo dei commenti, dobbiamo passarne un elenco alla funzione comment_form. Per impostazione predefinita, la funzione utilizza il seguente elenco di campi:
$campi = array("autore" => "
", "e-mail" => "" . __("E-mail") . " " . ($req ? "*" : "") . "
", "URL" => "" . __("Sito web") . "" . "
",);Se dobbiamo rimuovere un campo, ad esempio website , dobbiamo semplicemente escluderlo dall'array e passare l'array alla funzione comment_form.
$commentatore = wp_get_current_commenter(); $req = get_option("richiedi_nome_email"); $aria_req = ($req ? " aria-required="true"" : ""); $campi = array("autore" => "
", "e-mail" => "" . __("E-mail") . " " . ($req ? "*" : "") . "
",); $commenti_args = array("campi" => $campi); comment_form($commenti_args);Inoltre, cambieremo anche il nome del modulo in “Per favore, forniscici il tuo prezioso commento” e la scritta sul pulsante in “Invia il mio commento”.
Per completare l'attività, passiamo i seguenti argomenti alla funzione comment_form:
$commentatore = wp_get_current_commenter(); $req = get_option("richiedi_nome_email"); $aria_req = ($req ? " aria-required="true"" : ""); $campi = array("autore" => "
", "e-mail" => "" . __("E-mail") . " " . ($req ? "*" : "") . "
",); $comments_args = array("fields" => $fields, "title_reply"=>"Per favore, forniscici il tuo prezioso commento", "label_submit" => "Invia il mio commento"); comment_form($comments_args);Ora il modulo dei commenti sarà simile a questo:
Passaggio 3. Rimozione di campi da un modulo utilizzando un hookInoltre, il modulo dei commenti di WordPress può essere modificato utilizzando hook e filtri. Questa impostazione può essere particolarmente utile quando si lavora con un plugin, quando è necessario personalizzare diversi elementi, ma non modificare i file del tema. Filtra per aggiungere o rimuovere campi dal modulo: "comment_form_default_fields"
Rimuoviamo il campo URL utilizzando un filtro. Il codice sopra può essere utilizzato in un plugin o nel file Functions.php del tema attivo.
Funzione Remove_comment_fields($fields) ( unset($fields["url"]); return $fields; ) add_filter("comment_form_default_fields","remove_comment_fields");
Passaggio 4. Aggiungi dati al modulo dei commenti utilizzando un hookPossiamo aggiungere campi al modulo utilizzando il filtro "comment_form_default_fields". Aggiungiamo il campo dell'età dell'autore utilizzando un filtro, salviamo questo campo con dati aggiuntivi e visualizziamolo nel commento.
Aggiungi un campo come questo:
Funzione add_comment_fields($fields) ( $fields["age"] = "
" . __("Età") . "" . "
"; return $fields; ) add_filter("comment_form_default_fields","add_comment_fields");#respond .etichetta dell'autore del modulo-commento, #respond .etichetta dell'e-mail modulo-commento, #respond .etichetta dell'URL del modulo-commento, #respond .etichetta dell'età del modulo-commento, #respond .etichetta del modulo-commento-etichetta del commento ( sfondo: #eee; -webkit-box-shadow: 1px 2px 2px rgba(204,204,204,0,8); -moz-box-shadow: 1px 2px 2px rgba(204,204,204,0,8); colore: #555; : 13px; larghezza minima: 4px 10px;
Ora il nostro modulo di commento sarà simile a questo:
L'età viene ora memorizzata come informazione aggiuntiva. Devi usare l'hook in "comment_post":
Funzione add_comment_meta_values($comment_id) ( if(isset($_POST["age"])) ( $age = wp_filter_nohtml_kses($_POST["age"]); add_comment_meta($comment_id, "age", $age, false); ) ) add_action("comment_post", "add_comment_meta_values", 1);
Una volta salvati i dati, è possibile visualizzarli come un commento come questo:
Passaggio 5. Impostazione di commenti per tipi di post specifici
A volte desideri utilizzare i campi dei commenti solo per determinati tipi di post. Modifichiamo il codice per visualizzare il campo età solo per un record di tipo libro:
Funzione add_comment_fields($fields) ( if(is_singular("libri")) ( $fields["age"] = "
" . __("Età") . "" . "
"; ) return $fields; ) add_filter("comment_form_default_fields","add_comment_fields"); Passaggio 6. Creare una funzione di richiamata per visualizzare i commentiLa funzione wp_list_comments viene utilizzata per visualizzare i commenti sui post. Nel codice WordPress la funzione è descritta in dettaglio.
wp_list_comments ha un argomento 'callback' in cui è possibile definire una funzione che viene chiamata quando viene visualizzato un commento.
Nel tema Twenty Eleven nel file comments.php puoi trovare la riga:
Wp_list_comments(array("callback" => "twentyeleven_comment"));
Cambiamolo in:
Wp_list_comments(array("callback" => "my_comments_callback"));
La funzione my_comments_callback verrà chiamata per ogni post.
Passaggio 7: stile dei commentiOra cambieremo un po' lo stile dei commenti. Visualizzeremo semplicemente il contenuto del post e il campo età che abbiamo aggiunto in precedenza. Cambieremo anche il colore di sfondo per i commenti.
Codice funzione "my_comments_callback":
Funzione my_comments_callback($commento, $args, $profondità) ( $GLOBALS["commento"] = $commento; ?>