Casa / Facebook / I vecchi aggiungono un commento commento. Come cambiare la direzione dell'elenco dei commenti e spostare il modulo dei commenti in alto. Modulo per l'invio dei commenti

I vecchi aggiungono un commento commento. Come cambiare la direzione dell'elenco dei commenti e spostare il modulo dei commenti in alto. Modulo per l'invio dei commenti

È 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" => "

" . "" . __("Nome") . " " . ($req ? "*" : "") . "

", "e-mail" => " ", "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:

"

" . "" . __("Nome") . " " . ($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 argomenti

Diamo 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.
Passaggio 2. Personalizza il modulo dei commenti utilizzando la funzione comment_form

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" => "

" . "" . __("Nome") . " " . ($req ? "*" : "") . "

", "e-mail" => " ", "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" => "

" . "" . __("Nome") . " " . ($req ? "*" : "") . "

", "e-mail" => " ",); $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" => "

" . "" . __("Nome") . " " . ($req ? "*" : "") . "

", "e-mail" => " ",); $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 hook

Inoltre, 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 hook

Possiamo 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 commenti

La 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 commenti

Ora 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; ?>