Înlocuirile adaugă comentariu. Reglarea fină a formularului de comentarii

Am căutat recent prin fișierele mele. Teme WordPress, și anume regulile pentru șablonul de afișare a comentariilor, pe parcurs înțelegerea structurii acestuia și a diferitelor funcții responsabile cu afișarea comentariilor pe postările de blog. Ca rezultat, am schimbat ieșirea standard, am creat și am inclus propriul fișier comments.php. Am decis să emit rezultatul sub forma unui articol, deoarece am înțeles bine acest subiect și a fost destul de mult material.

Sper că acest articol va fi util proprietarilor de bloguri WordPress familiarizați cu HTML, CSS și PHP.

***

În WordPress, pentru a conecta un șablon de comentariu la o postare sau o pagină, se folosește funcția comments_template(), care ia doi parametri:

  • prima este calea către fișierul șablon, implicit este comments.php în folderul cu tema curentă
  • al doilea este folosit pentru a separa comentariile după tip (obișnuit, trackback și pingback), false în mod implicit

Să inserăm comments_template() după rezultatul postării în șablonul de postare single.php sau șablonul de pagină page.php.

Consultați Codexul WordPress pentru o descriere și argumente acceptate pentru funcția comments_template() și altele menționate în articol.

Pregătirea șablonului

Să încercăm să înțelegem șabloanele de comentarii WP și să creăm un fișier pentru afișarea comentariilor pe postările de blog și paginile cu propriile noastre mâini. Ca exemple de referință, puteți lua șabloane din temele standard WordPress. Să creăm document nouîn orice editor de text, să-i numim comments.php și să începem editarea.

  • În principiu, puteți denumi fișierul cum doriți și apoi scrieți calea către acest fișier în comments_template(), dar este mai bine să rămâneți la numele standard
  • Apropo, puteți edita fișierul în panoul de administrare WP
  • Cel mai bine este desigur să scrieți cod și să verificați imediat acțiunea acestuia pe blogul dvs. sau pe un server local.

În WordPress este posibil să dezactivați comentariile pentru postările individuale, așa că înainte de a le afișa, trebuie să verificați „deschiderea”:

Acesta este codul de pachet pentru următorii noștri pași. Acum să pregătim containerul pentru blocul de comentarii

cu o clasă sau un identificator corect din punct de vedere semantic (o clasă este, desigur, de preferat):

Interior

scrie titlul astfel încât cititorii tăi să înțeleagă că există comentarii și nimic altceva, etichetează

va fi potrivit pentru asta:

"

Aici am specificat una dintre funcțiile WordPress - the_title() , rezultatul executării acestei funcții va fi titlul postării sau paginii curente. Dacă nu doriți să afișați titlul, atunci puteți scrie pur și simplu „Comentarii cititorului”.

Mai mult, înainte de a afișa comentarii, trebuie să vă asigurați că acestea sunt disponibile, de ex. verificați, dacă există - ieșire lista plina, dacă nu, atunci puteți arăta utilizatorului ceva de genul „”. Așa că va fi clar pentru vizitatorul postării/paginii tale că nimeni nu a scris nimic încă, iar fraza motivantă „Poți fi primul” va crește probabilitatea ca ei să-ți scrie ceva mai repede.

Deci, după o astfel de declarație a problemei, devine clar că pentru implementare vom avea nevoie de constructe if/else și de o funcție care să afișeze numărul de comentarii get_comments_number() . Dacă funcția returnează 0 (zero), atunci afișăm „Fără comentarii încă...”, altfel „Comentariile cititorilor...”:

Nu există încă comentarii, dar poți fi primul

Comentariile cititorilor la articol „"

Discuțiile sunt închise pentru această pagină

Ieșirea comentariilor

Super, am afișat titlurile în funcție de prezența sau absența comentariilor, acum este logic să afișam comentariile în sine - funcția wp_list_comments() este responsabilă de acest lucru. Funcția implicită include toate comentariile în etichete

  • , așa că ar trebui să adăugați un înveliș
      cu atribuirea clasei.listă de comentarii:

      wp_list_comments() acceptă o serie de argumente cu care puteți personaliza în mod flexibil rezultatul comentariilor. De exemplu, puteți modifica dimensiunea avatarului, textul răspunsului la comentarii și alte setări prin trecere cuvânt cheie si sensul:

      $args = array("avatar_size" => 64, // dimensiunea avatarului este 64*64px, implicit este tipul de comentariu 32)

      Parametrul callback merită o atenție specială, care ia valoarea numelui funcției de ieșire a comentariilor personalizate. Vă permite să personalizați în mod flexibil aspect fiecare comentariu. Așa arată functie standard ieșire din fișierul comment-template.php:

    1. id="li-comment-">
      "); ?> %s spune:"), get_comment_author_link()) ?>
      comment_approved == "0") : ?>
      $depth, "max_depth" => $args["max_depth"]))) ?>

      Cel mai simplu mod este să luați această funcție și să o editați pentru dvs., apoi să o apelați ca una personalizată scriind-o în fișierul comments.php sau functions.php.

      După listarea comentariilor, le puteți schimba aspectul prin stilurile CSS. Unele opțiuni wp_list_comments() sunt duplicate în adminul WP, fila Opțiuni → Discuție, în special prezența comentariilor în arbore, sortarea după dată etc.

      Formular de trimitere a comentariilor

      Pentru a adăuga un formular de comentariu, utilizați funcția comment_form(). Să-l adăugăm sub lista de comentarii:

      Nu există încă comentarii, dar poți fi primul

      Comentariile cititorilor la articol „"

      1. 64, "reply_text" => "Răspuns", "callback" => "comentariile_mei"); wp_list_comments($args); ?>

      Discuțiile sunt închise pentru această pagină

      Cu acest apel, comment_form() va încărca codul implicit din fișierul WordPress comment-template.php. Funcția ia doi parametri:

      Comment_form($args, $post_id);

      • $args - matrice de setări de ieșire a formularului
      • $post_id - id-ul postării căreia i se va aplica funcția, implicit postarea curentă

      Să facem, de exemplu, validarea câmpurilor de formular HTML5, să adăugăm sugestii de text. Să creăm o matrice $args pentru a introduce setările dorite:

      $args = array(); comentariu_form($args);

      În matrice, trebuie să scrieți cheile de setări:

      $args = array("câmpuri" => aplica_filtre("comment_form_default_fields", $câmpuri));

      Acum trebuie să completăm variabila matrice $fields, care include câmpurile formularului. Cea mai ușoară modalitate este să luați codul WordPress implicit din comment-template.php și să îl modificați puțin:

      "

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

      ", "email" => " ", "url" => "

      " . "

      "); $args = array("fields" => apply_filters("comment_form_default_fields", $fields)); comment_form($args); ?>

      Aici, valorile parametrilor autor, e-mail și url sunt codul html al câmpurilor Nume, E-mail și, respectiv, Website. Aceste valori trebuie editate.

      Pentru câmpuri, trebuie să adăugăm următoarele atribute:

      • obligatoriu - face câmpurile obligatorii, adăugați-l pentru câmpurile „Nume” și „Site”.
      • substituent - adaugă un indiciu text în câmp
      • pattern="(3,)" pentru câmpul „Nume” - specificați numele în literele alfabetului latin sau rus și o lungime de cel puțin 3 caractere
      • type="email" pentru câmpul "Mail" - aceasta va adăuga validarea e-mailului HTML5
      • autocomplete - permite completarea automată pentru câmpuri
      • type="url" pentru câmpul "Site".

      Rețineți că noile atribute HTML5 nu vor funcționa în browserele mai vechi. Acele browsere care nu înțeleg noile tipuri de câmpuri le vor afișa pur și simplu ca text, de exemplu. .

      În plus, pentru blogul meu, am schimbat etichetele în unele locuri, am adăugat clase pentru stil, ca urmare am primit următorul cod de matrice $fields:

      "

      ", "email" => " ", "url" => "

      "); ?>

      Am schimbat câmpurile de introducere a datelor. Acum să edităm formularul de comentarii în sine

      " ?>

      Acesta este codul standard WordPress, tocmai l-am modificat puțin - am adăugat un indiciu text și am adăugat o clasă suplimentară pentru stil.

      Iată ce am ajuns cu stilul CSS:

      Formular de comentarii WordPress folosind atribute HTML5

      Rezultat

      În cele din urmă, voi renunța la codul comentarii.php rezultat:

      cititori de articole""

      • Fii primul care comentează - a încercat autorul
      1. id="li-comment-">
        "); ?> %s scrie:"), get_comment_author_link()) ?>
        comment_approved == "0") : ?>
        $depth, "max_depth" => $args["max_depth"]))) ?>
        „Răspunde”, „callback” => „verstaka_comment”); wp_list_comments($args); ?>
      "

      ", "email" => " ", "url" => "

      "); $args = array("comment_notes_after" => "", "comment_field" => "

      ", "label_submit" => "Trimite", "fields" => apply_filters("comment_form_default_fields", $fields)); comment_form($args); ?>

      Discuțiile sunt închise pentru această pagină

      Întrebări frecvente despre comentarii

      Cum să evidențiezi comentariile autorului și ale utilizatorilor?

      Uneori este foarte convenabil să setați o apariție separată pentru comentariile autorului, există chiar și pluginuri speciale pentru aceasta. Cu toate acestea, puteți face fără niciun plugin - doar scriind stiluri pentru clasa .bypostauthor în fișierul css. În mod similar, puteți seta stiluri pentru comentariile utilizatorilor - .bypostuser:

      Cum să stilați comentariile din arbore?

      Pentru a activa comentariile în arbore, trebuie să accesați administratorul WP, Setări → Discuție → Permiteți comentarii în arbore. Acum, comentariile copilului vor avea o structură arborescentă, li se pot da stiluri separate, de exemplu, indentate. Tot ce trebuie să faceți este să setați regulile css pentru lista cu clasa .children:

      Lista de comentarii .copii ( padding: 0 0 0 40px; /* padding la stânga pentru comentariile copiilor */ )

      Stiluri pentru comentarii pare și impare

      WordPress oferă în mod implicit comentariilor impare class.even , even comments.odd . Prin aceste clase este ușor să vă setați propriile stiluri:

      Liste de comentarii .even ( /* stiluri pentru comentarii impare */ ) .commentlist .odd ( /* stiluri pentru comentarii pare */ )

      Cum să închizi comentariile la o singură postare?

      Foarte ușor - accesați pagina pentru scrierea unei postări, Setări ecran → Discuții, sub câmpul de postare apare un bloc Discuții, deselectați elementul Permite comentarii.

      • Când compilați propriul șablon de comentariu, puteți utiliza fișierele comments.php din teme WordPress standard și alte teme plătite și gratuite
      • O alternativă la comentariile standard sunt pluginurile de formulare de comentarii de la terți, cum ar fi popularul DISQUS
      • Este foarte posibil să editați codul direct în fișierul comment-template.php în sine, totuși, în cazul unei actualizări WordPress, tot codul va fi suprascris - va trebui să-l editați din nou
      • Amintiți-vă - nu există un șablon de comentariu perfect

      Ajută proiectul

      65 voturi, medie: 4,46 din 5)

      Este timpul să vă ocupați serios de stilarea comentariilor WordPress. În aproape toate temele, acestea sunt configurate de fișierele de sistem, ceea ce limitează, la rândul său, editarea funcțiilor individuale. Cred că mulți oameni au dat peste asta când au trebuit să facă modificări la comentarii, dar nu au putut găsi exact unde se află. Prin urmare, va fi mai bine să transferăm toată funcționalitatea la tema curentă, ceea ce ne va oferi libertate completă de control.

      În acest articol, am adunat câteva funcții interesante care vor ajuta la îmbunătățirea comentariilor. Totuși, ele vă permit să conduceți dialoguri, atât cu administratorul site-ului, cât și între utilizatori. Răspundeți la întrebări, începeți diverse discuții, în general, introduceți comunicarea virtuală cu drepturi depline. Prin urmare, este necesar să le acordați atenție și să le aduceți în forma adecvată.

      Iată ce vom face:

      • Personalizare completă
      • Stilul aspectului
      • Numerotarea comentariilor
      • Număr de postări per utilizator
      • Atribuiți un statut fiecărui utilizator
      • Și alte lucruri mărunte

      Vom analiza fiecare articol separat, iar la sfârșitul articolului toate funcțiile vor fi complet asamblate într-un singur cod gata făcut.

      Personalizarea comentariilor

      În WordPress, comentariile sunt afișate folosind funcția wp_list_comments, de obicei în fișierul comments.php. Și formarea funcțiilor individuale, la fel ca bucla în sine, este folosită din șablonul fișierului de sistem comment-template.php . Dar, în cazuri rare, se întâmplă ca setarea să poată fi localizată în tema WordPress, fișierul functions.php sau fișierul comments.php.

      Deci, dacă tema dvs. nu se încadrează într-un caz rar și este nevoie să vă faceți propriile setări, atunci deschideți fișierul functions.php și adăugați următorul cod înainte de semnul ?>:

      If (! function_exists("my_coment")): function my_comments($comentarii, $args, $depth) ( global $numar comentariu; $GLOBALS["comentar"] = $comentar; comutator ($comentar->tip_comment): caz " pingback" : caz "trackback" : ?>

    2. ", ""); ?>
    3. id="li-comment-">
      comment_parent) $avatar_size = 39; echo get_avatar($comentar, $avatar_size); /* traducători: 1: autorul comentariului, 2: data și ora */ printf(__("%1$s %2$s", "my_press"), sprintf(" %s", get_comment_author_link()), sprintf(" ", esc_url(get_comment_link($comment->comment_ID)), get_comment_time("c"), /* traducători: 1: data, 2: time */ sprintf(__("%1$s %2$s", " my_press"), get_comment_date(), get_comment_time())))); ?>
      comment_approved == "0") : ?>
      __(„Răspuns”, „apăsarea_mea”), „adâncime” => $adâncime, „max_depth” => $args[”max_depth”]))); ?>
      ", ""); ?>

      Apoi, în fișierul comments.php adăugați o funcție de apel:

        "comentariile mele")); $numar comentariu = 0; ?>

      După aceste manipulări, comentariile dumneavoastră vor fi generate conform funcției șablon din fișierul functions.php al temei curente.

      Numărarea comentariilor fiecărui utilizator

      Folosind funcția de mai jos, putem afișa numărul total de postări rămase lângă comentator. Astfel, puteți observa cât de activ este utilizatorul și, chiar și atunci, statisticile nu sunt de prisos, mai ales în acest sens.

      Deschidem fișierul functions.php care ne este deja familiar și scriem următorul cod la sfârșit înainte de semnul?>:

      //numărarea postărilor utilizatorului funcția bac_comment_count_per_user() ( global $wpdb; $comment_count = $wpdb->get_var("SELECT COUNT(comment_ID) FROM ". $wpdb->comments. " WHERE comment_author_email = "" . get_comment_author_email() ." " AND comment_approved = "1" AND comment_type NOT IN ("pingback", "trackback")"); if ($comment_count == 1) ( echo " 1 Post"; ) else ( echo " " . $comment_count . " Postari "; ))

      Acum rămâne să adăugați funcția de apel la locul de care aveți nevoie:

      Mesajele vor fi numărate pe baza e-mailului utilizatorului, atât înregistrate cât și nu. Comentariile sunt luate în considerare doar confirmate de administratorul site-ului, dar nu în modul standby și șterse.

      Atribuim un statut fiecărui utilizator în funcție de numărul de comentarii

      Acesta este exact cazul în care statisticile joacă cu siguranță un rol important. Deoarece funcția este construită pe baza numărului de mesaje și, ca rezultat, numărul atins oferă utilizatorului starea adecvată. Acest lucru, în teorie, este folosit în fiecare forum pentru a arăta autoritatea utilizatorului asupra acestei resurse.

      Deschideți din nou fișierul functions.php și adăugați următorul cod înainte de semnul ?>:

      //Funcția de stare utilizator get_author_class($comment_author_email,$user_id)( global $wpdb; $adminEmail = get_option("admin_email"); $author_count = count($wpdb->get_results("SELECT comment_ID as author_count FROM $wpdb->AdminUseR "; if($author_count>=1 && $author_count<50 && $comment_author_email !==$adminEmail) echo "Прохожий"; else if($author_count>=50 && $author_count<100 && $comment_author_email !==$adminEmail) echo "Новичок"; else if($author_count>=100 && $author_count<250 && $comment_author_email !==$adminEmail) echo "Знающий"; else if($author_count>=250 && $author_count<400 && $comment_author_email !==$adminEmail) echo "Опытный"; else if($author_count>=400 &&$număr_autor<800 && $comment_author_email !==$adminEmail) echo "Бывалый"; else if($author_count>=800 && $author_count<1200 && $comment_author_email !==$adminEmail) echo "СуперПупер"; else if($author_count>Profesor"; )

      Și în locul dorit scoatem funcția de apel:

      comment_author_email,$comment->user_id)?>

      Explicaţie: funcția, ca și cea anterioară, este asociată cu e-mailul utilizatorului. Numai că aici sarcina principală nu este ușor de numărat mesajele, ci numărul de la și către în funcție de numărul setat. Și de îndată ce utilizatorul ajunge la el, el obține o anumită poziție. Există 7 stări în total, plus un administrator și un însemn pentru participanții înregistrați.

      Cod de comentariu complet terminat

      Iată că am ajuns la sfârșitul acestui articol. Aici nu am fost prea leneș, adunând toate funcțiile, inclusiv configurarea comentariilor într-un singur cod gata făcut. Mi-am adăugat propriile stiluri de aspect și rezultatul a fost ceva ca un mini-forum.

      Deschideți fișierul functions.php și la sfârșit înainte de semn?> adăugați următorul cod:

      //numărarea postărilor utilizatorului funcția bac_comment_count_per_user() ( global $wpdb; $comment_count = $wpdb->get_var("SELECT COUNT(comment_ID) FROM ". $wpdb->comments. " WHERE comment_author_email = "" . get_comment_author_email() ." " AND comment_approved = "1" AND comment_type NOT IN ("pingback", "trackback")"); if ($comment_count == 1) ( echo " 1 Post"; ) else ( echo " " . $comment_count . " Postari "; ) ) //funcția de stare utilizator get_author_class($comment_author_email,$user_id)( global $wpdb; $adminEmail = get_option("admin_email"); $author_count = count($wpdb->get_results("SELECT COMENT_ID ca număr de autor FROM $ wpdb->comments WHERE comment_author_email = "$comment_author_email" ")); if($comment_author_email ==$adminEmail) echo "Admin"; if($user_id!=0 && $comment_author_email !=$adminEmail) echo "UseR"; if ($author_count>=1 && $author_count<50 && $comment_author_email !==$adminEmail) echo "Прохожий"; else if($author_count>=50 && $author_count<100 && $comment_author_email !==$adminEmail) echo "Новичок"; else if($author_count>=100 && $author_count<250 && $comment_author_email !==$adminEmail) echo "Знающий"; else if($author_count>=250 && $author_count<400 && $comment_author_email !==$adminEmail) echo "Опытный"; else if($author_count>=400 &&$număr_autor<800 && $comment_author_email !==$adminEmail) echo "Бывалый"; else if($author_count>=800 && $author_count<1200 && $comment_author_email !==$adminEmail) echo "СуперПупер"; else if($author_count>=1200 && $comment_author_email !==$adminEmail) echo „Profesor”; ) // personalizarea comentariilor if (! function_exists("wordsmall_comment")): function wordsmall_comment($comment, $args, $depth) ( global $commentnumber; $GLOBALS["comment"] = $comentare; comutator ($coment- > comment_type): case "pingback": case "trackback": ?>

    4. id="li-comment-">
      %s", get_comment_author_link()); ?> comment_parent)( $comment_parent_href = htmlspecialchars(get_comment_link($comment->comment_parent)); $comment_parent = get_comment($comment->comment_parent); ?> @ Răspunde pentru:comentariu_autor;?>
      comment_parent) $avatar_size = 60; echo get_avatar($comentar, $avatar_size); ?> comment_author_email,$comment->user_id)?>
      comment_approved == "0") : ?>
      ", ""); ?> __("Răspuns", "wallpress"), "adâncime" => $adâncime, "max_depth" => $args["max_depth"]))); ?>

      Acum deschideți fișierul comments.php, găsim în el funcția de apelare a comentariilor. Arata asa:

      Schimbați cu acesta:

        "wordsmall_comment")); ?>

      Ultimul pas. Deschideți fișierul style.css și adăugați următoarele stiluri la sfârșit:

      Lista_meu de comentarii(border-top:none; ) .my_commentlist .comment( padding:0 0 15px 0; border:none; ) .my_commentlist .pingback( padding:0 0 15px 0; border:none; ) .my_commentlist .coment .copii list-style-type: none; padding:0px; margin-left:0px;/*dacă aveți nevoie de umplutură pentru arbore com.set-o la 15px*/ ) .my_commentlist .comment .children .comment( margin:15px 0 0 0 ; chenar: niciunul; umplutură: 0; ) #comentarii ( fundal: #fff; ) #comentarii .my_commentlist (marja: 10px 0; padding: 0; list-style:none; fundal: #ebf0f3; padding: 5px; ) # comentarii .my_commentlist .comment ( margine: 0; umplutură: 0 0 10px; fundal: #fff; ) #comments .my_commentlist .my_comment-author ( afișare: inline; chenar-dreapta: 1px solid #e0e0e0; lățime: 100px; float: stânga; margine: 0px 15px 10px 0; ) #comments .my_commentlist .commentmetadata ( float:left; ) #comments .my_commentlist p ( clear:none; culoare: #555; font: 14px arial; line-height: 23px; ) # comentarii .my_commentlist .comment-conte nt(marja-stânga: 116px; padding-dreapta: 10px; ) #comments .my_commentlist .reply ( text-align:right; ) #comments .my_commentlist .reply a( fundal: #f5f5f5; chenar: 1px solid rgba(0, 0, 0, 0.06); chenar-radius: 2px; culoare : #515456; afișare: bloc inline; dimensiunea fontului: 13px; greutatea fontului: normal; înălțimea liniei: 30px; marginea dreapta: 15px; înălțimea minimă: 30px; umplutură: 0 12px; alinierea textului: centru ; text-decor: niciunul; ) .my_commentlist .avatar( chenar: mediu nici unul; chenar-radius: 50%; float: niciunul; margine: 5px automat; padding: 0px; display: table; ) .my_commentlist .comment-header( înălțime: 30px; fundal: #DEE5EB; margin-bottom: 15px; ) .my_commentlist cite.fn( culoare: #444; font: bold 13px/30px arial; padding-left: 10px; ) .my_commentlist .com_date (culoare: # 8ca0b5; font: normal 13px/30px arial; float: dreapta; padding-right: 15px; ) .my_commentlist .comment-body (overflow: ascuns; poziție: relativ; fundal:#fff; ) .my_commentlist .rep-authorcom ( culoare: #25394e; font-size: 13px; line-height: 30px; ) .my_commentlist .edit-link a ( fundal: niciun !important; chenar: niciun !important; chenar-radius: 0 !important; culoare: #999!important; afișare: bloc inline; dimensiunea fontului: 11px !important; greutatea fontului: normal; înălțimea liniei: 30px; marginea dreapta: 5px !important; înălțimea minimă: 30px ; padding: 0 !important; text-align: center; text-decoration: none; ) .com_per ( chenar: mediu nici unul; culoare: #666; display: block; font-size: 11px; text-align: center; ) .vip1, .vip, .vp, .vip2, .vip3, .vip4, .vip5, .vip6, .vip7 (chenar: mediu nici unul; font: bold 13px arial; afișare: bloc; text-align: center; margin- jos: 5px; text-decor: niciunul; ) .vp (culoare: #e82e24;) .vip1 (culoare: #348be8;) .vip2 (culoare: #BE005E;) .vip3 (culoare: #2e517e;) .vip4 ( culoare: #658a18;) .vip5 (culoare: #00A56D;) .vip6 (culoare: #e35d28;) .vip7 (culoare: #99A400;) .vip (culoare: #4c5176; dimensiune font: 11px; margine: 0 ;)

      Codul funcționează pe deplin și nu provoacă erori, dar pot fi necesare modificări minore ale stilurilor CSS.

      Bună prieteni! Vladimir Savelyev este în legătură. Astăzi vă voi arăta cum să realizați, să personalizați și să proiectați frumos un formular de comentarii WordPress, cu și fără plugin-uri... Și vom analiza o întrebare foarte importantă: Afectează comentariile clasarea blogului în motoarele de căutare? Dar mai întâi de toate...

      În acest articol, voi aborda următoarele întrebări:

      • Cum să personalizați formularul de comentarii WordPress pentru nevoile publicului;
      • Cum să stilați frumos comentariile cu CSS;
      • Cum să evidențiați comentariile autorului blogului fără un plugin;
      • Cum să te faci un gravatar pentru a-ți afișa fotografia atunci când comentezi pe blogurile tale și ale altor bloguri;
      • Ce pluginuri importante să instalați pentru modulul de comentarii pentru a adăuga funcționalitate;
      • Cum să inserați emoticoane în formularul de comentarii și să le înlocuiți cu altele mai originale;

      Cert este că recent eu însumi, pe blogul meu, mi-am adus în minte forma comentariilor wordpress și în căutarea informațiilor necesare și corecte mi-a luat mult timp. Acum, dacă aș da peste un astfel de articol, în care se adună aproape toate informațiile, aș economisi mult timp, și aș dedica acest timp unor probleme mai importante, nu celor tehnice!

      Apropo, felicitări pentru prima zăpadă! Nu stiu voi, dar in orasul nostru azi ninge toata ziua, anticipand iminentul An Nou si mirosul de mandarine =) Nu am avut timp sa ma bucur de vara trecuta, am fost tot timpul in afaceri si munca, nu am observat cum este vara și a trecut = (Ei bine, încă voi avea timp să mă relaxez și să mă odihnesc. După cum spune iubita mea soție, mă voi odihni la pensie!

      Bine, acum să revenim la subiect!

      Să începem cu modul în care comentariile WordPress afectează clasamentul blogurilor în motoarele de căutare?! Răspunsul este evident - aceasta este influența PF, adică factorii comportamentali!

      Luați în considerare un exemplu, există două bloguri, unul dintre ele are un formular de comentarii wordpress, celălalt nu! Vizitatorul a mers pe blog, unde a citit un articol interesant și gata, este puțin probabil să revină pe pagina materialului, ești de acord cu mine?

      Iar pe blogul unde se comentează, după ce a citit articolul, vizitatorul va citi și comentariile, mă întreb ce scriu alții pe această temă! Și dacă și vizitatorul se alătură discuției, atunci va fi în general superb =) De câte ori va merge pe această pagină pentru a verifica dacă i-a răspuns cineva?!

      Apropo, am dat peste o resursă în care s-a înființat un experiment cu două bloguri, erau comentarii pe un blog și nu pe celălalt. Așadar, blogul la care a fost comentat mergea cu succes și participarea era în creștere, comparativ cu alt blog!

      Datorită comentariilor, timpul petrecut pe blog crește, precum și numărul de vizite directe, îmbunătățind astfel performanța site-ului sau blogului, iar acestea nu sunt toate plusurile!

      Ajunge teorie, să trecem la partea practică!

      Cum să personalizați formularul de comentarii WordPress

      De fapt, configurarea modulului de comentarii este foarte simplă și nu vă va lua mult timp. Tot ce trebuie să faceți este să bifați casetele unde am făcut-o! Urmați instrucțiunile și veți reuși în cel mai bun mod posibil!

      Cum să proiectați frumos formularul de comentarii

      În această etapă, veți avea nevoie de cel puțin cunoștințe de bază despre css și html. Dacă nu le aveți, atunci faceți-o pe propriul risc și nu uitați să salvați codul original înainte de a edita.

      Pentru a schimba designul comentariilor, trebuie să îl găsiți în setări, Aspect - Editor - Foaie de stil (style.css), ceva de genul următor cod:

      Lista de comentarii div.comment(background:#f6f6f6;margin-bottom:15px;padding:10px 10px 10px 80px;position:relative;border: 1px solid #bbb; border-radius: 8px;)

      Pe scurt, căutăm toate stilurile care încep cu cometariu, și schimbați-le valoarea după gustul și culoarea dvs. Experimentează!

      Cum să evidențiați comentariile autorului fără un plugin

      De ce este nevoie de asta?! Ei bine, în primul rând, îi oferă vizitatorului o idee despre cine este autorul blogului, printre alți comentatori! De asemenea, va fi mai ușor pentru autorul blogului să navigheze!

      Pluginul va ajuta la rezolvarea acestei probleme - Evidențiați comentariile autorului, dar nu sunt un susținător al pluginurilor, deoarece un număr mare dintre ele afectează negativ blogul! Prin urmare, ori de câte ori este posibil, încerc să fac totul în cod, ceea ce vă sfătuiesc să faceți!

      Pentru a implementa această caracteristică cu cod fără un plugin, trebuie să adăugați o nouă clasă de stil cu autentificarea administratorului blogului în setări: Aspect - Editor - Foaie de stil (style.css).

      În cazul meu, codul arată astfel:

      Lista de comentarii div.comment-author- Autentificarea dvs. la intrarea în panoul de administrare(culoarea fundalului:#f5f5e1!important;margin-bottom:15px;padding:10px 10px 10px 80px;position:relative;border: 1px solid #bbb; chenar-radius: 8px;)

      Și schimbă designul, diferit de alte comentarii! Totul este simplu!

      Pentru a preveni un atacator să vă cunoască login-ul real, scrieți codul în functions.php

      funcția del_login_css($css) (
      foreach ($css ca $key => $class) (
      if (strstr ($clasa, „LOGAREA DVS. REALĂ”)) (
      $css[$key] = „VIN CU O FICȚIUNE”; ) )
      returnează $css;
      }
      add_filter("clasa_comment", "del_login_css");

      Cum să-ți faci propriul gravatar (fotografie în comentarii)

      Dacă doriți ca fotografia dvs. să fie afișată atunci când comentați pe blogul dvs. sau pe alte bloguri, și nu o imagine goală, atunci trebuie să faceți următoarele. Înregistrați-vă pe https://ru.gravatar.com

      Completam toate campurile obligatorii si gata! Acum fotografia ta va fi mereu cu tine, unde specifici email-ul la care este atasata poza! Este important să vă înregistrați cu e-mailul pe care îl introduceți de obicei când comentați.

      Pluginuri importante pentru comentarii WordPress

      Voi enumera cele trei plugin-uri principale de comentarii pe care le am pe blogul meu. Vă recomand să le instalați!

      • Redirecționare comentariu de către Yoast - Primul comentariu Mulțumesc Plugin! Mai întâi trebuie să creați o pagină de mulțumire și să introduceți calea acesteia în setările pluginului!
      • WordPress Zero Spam este un captcha invizibil conceput pentru a proteja împotriva spam-ului, nu-i deranjează pe comentatori să rezolve exemple aritmetice, pur și simplu nu îl văd...
      • - abonament la comentarii. Principiul de funcționare: vizitatorul, după ce a scris un comentariu, se poate abona la actualizările lor, precum și gestiona abonamentele.

      Emoticoane sub formă de comentarii wordpress

      Citiți articolul despre cum să faceți, precum și despre cum să înlocuiți emoticoanele standard cu altele.

      Asta e tot! Sper că ați reușit să setați totul, dacă nu ați găsit întrebarea dvs. despre formularul de comentarii wordpress, atunci nu ezitați să scrieți un comentariu și voi răspunde cu plăcere! Dacă ți-a plăcut articolul, abonează-te la actualizările blogului și recomandă-l prietenilor tăi făcând clic pe butoanele rețelei sociale de mai jos! Voi fi foarte recunoscător! Ne vedem curând într-un articol nou!


      Cu stimă, Vladimir Saveliev

      Lecții premium de la clubul webformyself

      Acesta este un nou produs revoluționar în domeniul educației pentru construirea de site-uri web! Toate cele mai bune tutoriale video sunt adunate într-un singur loc și împărțite în categorii: WordPress, Joomla, PHP, HTML, CSS și JavaScript... Baza de date este actualizată constant și acum există peste 200 de lecții în ea! În doar un an - poți deveni un webmaster experimentat „de la zero”!

      Mai mult

      A trecut ceva timp de când nu am scris nimic despre WordPress. Prin urmare, astăzi vă voi împărtăși cum puteți schimba manual formularul de comentarii în WordPress. Cred că aceste cunoștințe pot fi utile oricărui blogger începător, deoarece formularul de comentariu este, uneori, singurul mijloc de comunicare între vizitatori și autor. nu trece pe langa :)

      Înainte de a începe orice manipulări cu codul, vreau să vă avertizez în avans că vom edita fișierele WordPress în sine, și nu fișierele teme. Da, poate părea periculos pentru cineva, lipsit de sens pentru cineva, cuiva pur și simplu nu o să-i placă :) Dar am făcut-o exact așa și nu am avut probleme. Vă sfătuiesc să faceți o copie de rezervă a fișierului editat înainte de a începe.
      Te-am avertizat despre securitate, acum vreau să arăt rezultatul la care am ajuns.


      După cum putem vedea, rândul „E-mailul dvs. nu va fi publicat. Câmpurile obligatorii sunt marcate *". Nu este nevoie să considerați vizitatorii ca niște idioți fără creier. Ei înțeleg ce trebuie făcut și ce nu. Am ascuns, de asemenea, numele câmpurilor în interiorul câmpurilor în sine. Care sunt posturile alea grase? Majoritatea vizitatorilor care nu au deja nume de câmp pot determina „cu ochi” căruia îi aparține. Dar indicii interne ar trebui să fie în continuare prezente. Ei bine, legenda din câmpul de comentarii și-a pierdut îndrăzneala inutilă. După părerea mea, a devenit mult mai bun și mai liber.

      Deci haideți să facem o schimbare în curând! ;)
      Mergem în folderul site-ului nostru și găsim fișierul wp-includes/comment-template.php în el. Căutăm linia 1522 în ea, da, da, exact. Cum am găsit-o eu însumi este o poveste întreagă, vă voi spune despre ea puțin mai târziu :)
      Deci, deschideți fișierul pentru editare și mergeți la linia 1522. Acum ea și următoarele (până în 1529) sunt cam așa:

      $fields = array("autor" => "

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

      ", "email" => " ", "url" => "

      " . "

      ",);

      Cât de simplu și clar este totul. Este suficient doar să tăiați tot ce este de prisos și să adăugați puțin. Parametrul va fi atașat

      Placeholder="Hint Text" !}

      Această opțiune vă permite să afișați orice text în interiorul câmpurilor. Îl folosim pentru a afișa indicii:

      "

      " "

      " "

      "

      Să ștergem rândurile:

      "

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

      "

      Aceștia sunt responsabili pentru afișarea subtitrărilor deasupra câmpurilor.
      Ca rezultat al TOATE aceste manipulări, obținem următoarele:

      $fields = array("autor" => "

      ", "email" => "

      ", "url" => "

      ",);

      Rămâne doar să eliminați sugestia stupidă „E-mailul dvs. nu va fi publicat. Câmpurile obligatorii sunt marcate *". Pentru a face acest lucru, ștergeți linia (aproximativ 1537):

      "comment_notes_before" => "

      " .__("Adresa ta de e-mail nu va fi publicată.") .($req ? $required_text: "") . "

      ",

      Asta pare să fie tot, acum forma noastră a devenit puțin mai atractivă. Sper ca aceste informatii sa fie de folos cuiva :)

      Abonați-vă, comentați, voi fi bucuros de orice comentarii adecvate. Poate că eu nu știu ceva și tu poți să o faci altfel, împărtășește-ți gândurile.

      WordPress are mai multe tipuri de conținut, cum ar fi postări, pagini, comentarii. WordPress este o platformă foarte flexibilă care vă permite să personalizați principalele tipuri de conținut pentru a se potrivi site-ului dvs. Puteți schimba aspectul și senzația. În acest tutorial, vă vom arăta cum să schimbați comportamentul și aspectul comentariilor pe un site WordPress.

      Pasul 1. Înțelegerea funcției comment_form și argumentele sale

      Luați în considerare funcția WordPress comment_form. Este responsabil pentru afișarea formularului de comentarii care este afișat pe pagină sau postare. Apelul la această funcție poate fi găsit în principal în fișier comentarii.phpîn folderul cu teme. Acest fișier este inclus în diferite locuri, de exemplu, în fișiere singur.phpȘi pagina.php, direct sau printr-un apel la funcția comments_template.

      O descriere a caracteristicii poate fi găsită în codexul WordPress.

      Dacă utilizați funcția comment_form pentru a reda un formular, acesta va fi redat folosind parametrii impliciti și va conține câmpuri precum nume, e-mail (ambele câmpuri sunt obligatorii), site-ul web și conținutul comentariului. În tema implicită Twenty Eleven, formularul va arăta astfel.

      Câteva argumente importante pentru funcția comment_form:

      • câmpuri - cu ajutorul acestuia puteți controla rezultatul câmpurilor din formularul de comentarii.
      • comment_notes_before și comment_notes_after sunt folosite pentru a afișa informații înainte și după formular.
      • title_reply - folosit pentru a schimba titlul răspunsului, care este implicit „Lăsați un răspuns”.
      • label_submit - folosit pentru a modifica textul de pe butonul de trimitere a comentariilor.

      Pasul 2. Personalizați formularul de comentarii folosind funcția formular_comentare

      Acum să personalizăm formularul nostru de comentarii trecând argumente funcției comment_form.

      În cazul în care trebuie să personalizăm câmpurile din formularul de comentarii, trebuie să transmitem o listă a acestora la funcția comment_form. În mod implicit, funcția folosește următoarea listă de câmpuri:

      $fields = array("autor" => "

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

      ", "email" => " ", "url" => "

      " . "

      ",);

      Dacă trebuie să eliminăm un câmp, să spunem site-ul web , trebuie doar să-l excludem din matrice și să trecem matricea la funcția comment_form.

      $comentator = wp_get_current_commenter(); $req = get_option("require_name_email"); $aria_req = ($req ? " aria-required="true"" : ""); $fields = array("autor" => "

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

      ", "email" => " ",); $comments_args = array("fields" => $fields); comment_form($comments_args);

      În plus, vom schimba și numele formularului în „Vă rugăm să ne transmiteți comentariul dvs. valoros” și eticheta de pe butonul „Trimiteți comentariul meu”.

      Pentru a finaliza sarcina, trecem următoarele argumente funcției comment_form:

      $comentator = wp_get_current_commenter(); $req = get_option("require_name_email"); $aria_req = ($req ? " aria-required="true"" : ""); $fields = array("autor" => "

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

      ", "email" => " ",); $comments_args = array("fields" => $fields, "title_reply" =>"Vă rugăm să ne oferiți comentariul dvs. valoros", "label_submit" => "Trimiteți comentariul meu"); comment_form($comments_args);

      Formularul de comentarii va arăta acum astfel:

      Pasul 3 Eliminarea câmpurilor dintr-un formular cu un cârlig

      De asemenea, formularul de comentarii WordPress poate fi modificat cu cârlige și filtre. Această configurare poate fi utilă în special atunci când lucrați cu un plugin când trebuie să modificați câteva elemente, dar nu să schimbați fișierele teme. Filtrați pentru a adăuga sau elimina câmpuri de formular - „ comment_form_default_fields ”

      Să eliminăm câmpul adresei URL folosind un filtru. Codul de mai sus poate fi folosit într-un plugin sau într-un fișier funcții.php subiect activ.

      Funcția remove_comment_fields($fields) ( unset($fields["url"]); return $fields; ) add_filter("comment_form_default_fields","remove_comment_fields");

      Pasul 4: Adăugarea datelor la formularul de comentarii cu un cârlig

      Putem adăuga câmpuri în formular folosind filtrul „comment_form_default_fields”. Să adăugăm câmpul de vârstă al autorului folosind un filtru și să salvăm acest câmp cu date suplimentare și să îl afișăm în comentarii.

      Adăugați un câmp ca acesta:

      Funcția add_comment_fields($fields) ( $fields["age"] = "

      " . "

      "; returnează $câmpuri; ) add_filter("comment_form_default_fields","add_comment_fields");

      #respond .comment-form-author label, #respond .comment-form-email etichetă, #respond .comment-form-url label, #respond .comment-form-etichetă de vârstă, #respond .comment-form-comment label ( fundal: #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); box-shadow: 1px 2px 2px 2px, 204,gba, 24,204,0.8 0,8); culoare: #555; afișare: bloc inline; dimensiune font: 13px; stânga: 4px; lățime minimă: 60px; umplutură: 4px 10px; poziție: relativă; sus: 40px; z-index: 1; )

      Acum formularul nostru de comentarii va arăta astfel:

      Vârsta este acum stocată ca informații suplimentare. Trebuie să utilizați un cârlig în „comment_post”:

      Funcția 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);

      Odată ce datele sunt salvate, acestea pot fi afișate într-un comentariu ca acesta:

      comment_ID, „vârsta”, adevărat); ?>

      Pasul 5 Setarea comentariilor pentru anumite tipuri de postări

      Uneori doriți să utilizați câmpuri în comentarii numai pentru anumite tipuri de postări. Să modificăm codul pentru a afișa câmpul de vârstă numai pentru cartea tip de înregistrare:

      Funcția add_comment_fields($fields) ( if(is_singular("books"))) ( $fields["varsta"] = "

      " . "

      "; ) returnează $câmpuri; ) add_filter("comment_form_default_fields","add_comment_fields");

      Pasul 6. Creați o funcție de returnare pentru afișarea comentariilor

      Funcția wp_list_comments este folosită pentru a afișa comentarii în postări. Codexul WordPress descrie caracteristica în detaliu.

      wp_list_comments are un argument „callback” care poate fi folosit pentru a defini o funcție care este apelată atunci când este afișat un comentariu.

      În tema Twenty Eleven din dosar comentarii.php poti gasi linia:

      wp_list_comments(array("callback" => "douăzeci și unsprezece_comment"));

      Să-l schimbăm în:

      wp_list_comments(array("callback" => "my_comments_callback"));

      Funcția my_comments_callback va fi apelată pentru fiecare postare.

      Pasul 7 Stilul comentariilor

      Acum vom schimba puțin stilul comentariului. Vom afișa pur și simplu conținutul postării și câmpul de vârstă pe care l-am adăugat mai devreme. Vom schimba și culoarea de fundal pentru comentarii.

      Codul funcției „my_comments_callback”:

      Funcția my_comments_callback($comment, $args, $depth) ( $GLOBALS["comment"] = $coment; ?>

    5. id="li-comment-">

      comment_ID, „vârsta”, adevărat); ?>

      __("Răspuns ↓", "douăzeci și unsprezece"), "adâncime" => $adâncime, "max_depth" => $args["max_depth"]))); ?>
    6. Schimbați culoarea de fundal astfel:

      Lista de comentarii > li.comment ( fundal: #99ccff; chenar: 3px solid #ddd; -moz-border-radius: 3px; border-radius: 3px; margine: 0 0 1.625em; padding: 1.625em; poziție: relativă; )



  • Se încarcă...
    Top