Botvinya dodaj komentar komentar odgovor. Fino podešavanje obrasca komentara. Kako stilizirati komentare stabla

Vrijeme je da se ozbiljno posvetite oblikovanju svojih WordPress komentara. U gotovo svim temama one su konfigurirane sistemskim datotekama, što zauzvrat ograničava uređivanje pojedinačnih funkcija. Mislim da su se mnogi ljudi susreli s tim kada su trebali unijeti izmjene u komentare, ali nisu mogli pronaći gdje se to točno nalazi. Stoga bi bilo bolje sve funkcionalnosti prenijeti na trenutnu temu, čime ćemo dobiti potpunu slobodu kontrole.

U ovom članku sakupio sam neke zanimljive značajke koje će vam pomoći da poboljšate svoje komentare. Ipak, oni vam omogućuju vođenje dijaloga i s administratorom stranice i između korisnika. Odgovarajte na pitanja, pokrenite razne rasprave, općenito, uvedite potpunu virtualnu komunikaciju. Stoga im je potrebno obratiti pozornost i dovesti ih u pravilan oblik.

Evo što ćemo učiniti:

  • Potpuna prilagodba
  • Dizajn izgleda
  • Numeriranje komentara
  • Brojanje poruka po korisniku
  • Dodijelite status svakom korisniku
  • I druge sitnice

Analizirat ćemo svaku točku zasebno, a na kraju članka sve funkcije će biti u potpunosti sastavljene u jedan gotov kod.

Prilagodba komentara

U WordPressu se komentari prikazuju kroz funkciju wp_list_comments, obično u datoteci comments.php. A formiranje pojedinih funkcija, kao i sam ciklus, koristi se iz predloška sistemske datoteke comment-template.php. Ali u rijetkim slučajevima događa se da se postavka može nalaziti u WordPress temi, functions.php ili comments.php datoteci.

Dakle, ako vaša tema ne spada u rijetke slučajeve i trebate napraviti vlastite postavke, otvorite datoteku functions.php i prije znaka ?> dodajte sljedeći kod:

If (! function_exists("my_comment")) : function my_comments($comment, $args, $depth) ( global $commentnumber; $GLOBALS["comment"] = $comment; switch ($comment->comment_type) : case " pingback" : velika i mala slova "trackback" : ?>

  • ", ""); ?>
  • id="li-komentar-">
    comment_parent) $avatar_size = 39; echo get_avatar($comment, $avatar_size); /* prevoditelji: 1: autor komentara, 2: datum i vrijeme */ 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"), /* prevoditelji: 1: datum, 2: vrijeme */ sprintf(__("%1$s %2$s", " my_press"), get_comment_date(), get_comment_time()))); ?>
    comment_approved == "0") : ?>
    __("Odgovori", "my_press"), "depth" => $dubina, "max_depth" => $args["max_depth"]))); ?>
    ", ""); ?>

    Zatim u datoteku comments.php dodajte funkciju pozivanja:

      "moji_komentari")); $broj komentara = 0; ?>

    Nakon ovih manipulacija, vaši će se komentari generirati pomoću funkcije predloška iz datoteke functions.php trenutne teme.

    Brojanje komentara po korisniku

    Pomoću dolje prikazane funkcije možemo prikazati ukupan broj preostalih poruka pored komentatora. Tako možete vidjeti koliko je korisnik aktivan, a osim toga statistika nikad nije suvišna, pogotovo u tom pogledu.

    Otvaramo datoteku functions.php koja nam je već poznata i dodajemo sljedeći kod na kraju ispred znaka ?>:

    //brojenje korisničkih poruka funkcija bac_comment_count_per_user() ( globalno $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 poruka"; ) else ( echo " " . $comment_count . " Poruke "; ))

    Sada preostaje samo dodati funkciju poziva na mjesto koje vam je potrebno:

    Poruke će se brojati na temelju e-maila korisnika, bez obzira je li registriran ili ne. U obzir se uzimaju samo komentari koje je potvrdio administrator stranice, ali ne i oni koji su u stanju pripravnosti i izbrisani.

    Svakom korisniku dodjeljujemo status ovisno o broju komentara

    Upravo je to slučaj gdje statistika svakako igra važnu ulogu. Budući da je funkcija izgrađena na temelju broja poruka, rezultatski broj daje korisniku odgovarajući status. To se, u teoriji, koristi na svakom forumu da pokaže autoritet korisnika na određenom resursu.

    Ponovno otvorite datoteku functions.php i prije znaka ?> dodajte sljedeći kod:

    //funkcija statusa korisnika get_author_class($comment_author_email,$user_id)( globalno $wpdb; $adminEmail = get_option("admin_email"); $author_count = count($wpdb->get_results("SELECT comment_ID kao 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 &&$author_count<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 na željenom mjestu prikazujemo funkciju pozivanja:

    comment_author_email,$comment->user_id)?>

    Obrazloženje: ova je funkcija, kao i prethodna, povezana s korisnikovom e-poštom. Samo ovdje glavni zadatak nije samo brojanje poruka, već broj od i do ovisno o postavljenom broju. A kada korisnik to dosegne dobiva određenu poziciju. Ukupno ima 7 statusa, plus admin i oznake za registrirane sudionike.

    Potpuno gotov kod komentara

    Došli smo do kraja ovog članka. Ovdje nisam bio lijen, skupljajući sve funkcije, uključujući postavljanje komentara, u jedan gotov kod. Dodao sam svoje stilove i rezultat je bio nešto poput mini-foruma.

    Otvorite datoteku functions.php i na kraju ispred znaka ?> dodajte sljedeći kod:

    //brojenje korisničkih poruka funkcija bac_comment_count_per_user() ( globalno $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 poruka"; ) else ( echo " " . $comment_count . " Poruke "; ) ) //funkcija statusa korisnika 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->komentari 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 &&$author_count<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"; ) //prilagodite komentare if (! function_exists("wordsmall_comment")) : function wordsmall_comment($comment, $args, $depth) ( global $commentnumber; $GLOBALS["comment"] = $comment; switch ($comment- > comment_type) : case "pingback" : case "trackback" : ?>

  • id="li-komentar-">
    %s", get_comment_author_link()); ?> comment_parent)( $comment_parent_href = htmlspecialchars(get_comment_link($comment->comment_parent)); $comment_parent = get_comment($comment->comment_parent); ?> @Odgovori za:komentar_autor;?>
    comment_parent) $avatar_size = 60; echo get_avatar($comment, $avatar_size); ?> comment_author_email,$comment->user_id)?>
    comment_approved == "0") : ?>
    ", ""); ?> __("Odgovori", "wallpress"), "depth" => $dubina, "max_depth" => $args["max_depth"]))); ?>

    Sada otvorite datoteku comments.php, pronađite u njoj funkciju za pozivanje komentara. Izgleda otprilike ovako:

    Promjena u ovo:

      "riječimali_komentar")); ?>

    Završni korak. Otvorite datoteku style.css i na kraju dodajte sljedeće stilove:

    My_commentlist( 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 .comment .children ( list-style-type: none; padding:0px; margin-left:0px;/*ako vam je potrebna uvlaka za okvire u obliku stabla, stavite 15px*/ ) .my_commentlist .comment .children .comment( margin:15px 0 0 0 ; granica: nema; padding: 0; ) #comments ( background: #fff; ) #comments .my_commentlist ( margin: 10px 0; padding: 0; list-style: none; background: #ebf0f3; padding: 5px; ) # comments .my_commentlist .comment ( margin:0; padding: 0 0 10px; background: #fff; ) #comments .my_commentlist .my_comment-author ( display: inline; border-desno: 1px solid #e0e0e0; width: 100px; float: lijevo; margina : 0px 15px 10px 0; ) #comments .my_commentlist .commentmetadata ( float:left; ) #comments .my_commentlist p ( clear:none; color: #555; font: 14px arial; line-height: 23px; ) # komentari .my_commentlist .comment-content ( margin-left: 116px; padding-desno: 10px; ) #comments .my_commentlist .reply ( text-align:right; ) #comments .my_commentlist .reply a( background: #f5f5f5; border: 1px solid rgba(0, 0, 0, 0.06); border-radius: 2px; color : #515456; zaslon: inline-block; veličina fonta: 13px; težina fonta: normalna; visina retka: 30px; margina-desno: 15px; minimalna visina: 30px; ispuna: 0 12px; poravnanje teksta: središte ; text-decoration: none; ) .my_commentlist .avatar( border: medium none; border-radius: 50%; float: none; margin: 5px auto; padding: 0px; display: table; ) .my_commentlist .comment-header( visina: 30px; pozadina: #DEE5EB; margin-bottom: 15px; ) .my_commentlist cite.fn( boja: #444; font: bold 13px/30px arial; padding-left: 10px; ) .my_commentlist .com_date (boja: # 8ca0b5; font: normalno 13px/30px arial; float: desno; padding-right: 15px; ) .my_commentlist .commentnumber (boja: #8ca0b5; float: desno; font: kurziv 13px/30px arial; padding-desno: 15px; ) .my_commentlist .comment-body ( overflow: hidden; position: relative; pozadina:#fff; ) .my_commentlist .rep-authorcom ( color: #25394e; font-size: 13px; line-height: 30px; ) .my_commentlist .edit-link a ( background: none !important; border: none !important; border-radius: 0 !važno; boja: #999!važno; prikaz: inline-block; veličina fonta: 11px !važno; težina fonta: normalna; visina linije: 30px; margina desno: 5px !važno; minimalna visina: 30px ; padding: 0 !important; text-align: center; text-decoration: none; ) .com_per ( border: medium none; color: #666; display: block; font-size: 11px; text-align: center; ) .vip1,.vip, .vp, .vip2, .vip3, .vip4, .vip5, .vip6, .vip7 (obrub: srednje nema; font: podebljano 13px arial; prikaz: blok; poravnanje teksta: središte; margina- dolje: 5px; tekstualni ukras: ništa; ) .vp (boja: #e82e24;).vip1 (boja: #348be8;).vip2 (boja: #BE005E;).vip3 (boja: #2e517e;).vip4 ( boja: #658a18;).vip5 (boja: #00A56D;).vip6 (boja: #e35d28;).vip7 (boja: #99A400;).vip (boja: #4c5176;veličina fonta: 11px;margina: 0 ;)

    Kôd u potpunosti radi i ne uzrokuje pogreške, no možda će biti potrebne manje promjene u CSS stilovima.

    Ovo ime mnogima ne smeta, ali ponekad se postavlja pitanje kako promijeniti dodati komentar ostaviti recenziju ili slično. U ovom slučaju, ovaj članak će vam pomoći. Kao što sam gore napisao, pokazat ću vam nekoliko načina.

    Metoda br. 1

    Za prvu metodu morate pronaći datoteku u mapi s temom koja je instalirana na vašoj web stranici komentari.php. Ako postoji, otvorite ga i u njemu potražite polje koje je odgovorno za postavljanje i prikaz sadržaja obrasca za komentare. Izgleda otprilike ovako:

    $args = array("comment_notes_before" => "

    ", "comment_field" => "

    ", "id_submit" => "comm_subm", "label_submit" =>

    Dakle, ovom nizu trebate dodati novi parametar sa željenom vrijednošću i to je to. U našem slučaju to je:

    "title_reply" => "Ostavite svoju recenziju",

    Kao što razumijete - Ostavite svoju recenziju, ovo je novi naziv umjesto - Dodaj komentar. Takav parametar možete dodati na kraj ili na početak niza. Ispast će ovako nešto:

    $args = array("title_reply" => "Ostavite svoju recenziju", "comment_notes_before" => "

    Ispunite donja polja. Vaš email neće biti objavljen. Obavezna polja su označena *

    ", "comment_field" => "

    ", "id_submit" => "comm_subm", "label_submit" => "Pošalji",); comment_form($args);

    Dodano na početak i sada, na stranicama objave bit će prikazan redak - Ostavite svoju recenziju. Ova metoda nije komplicirana i zahtijeva minimalan napor, glavna stvar je ispravno definirati niz. Ali ponekad se dogodi da unutar teme nema datoteke comments.php ili u njoj nema polja i ne znate kako je ispravno dodati, tada će vam druga metoda pomoći.

    Metoda br. 2

    Suština druge metode je dodavanje nove funkcije koja će zamijeniti naziv. Da biste to učinili, u mapi s aktivnom temom morate pronaći datoteku funkcija.php s prilagođenim funkcijama i na prikladnom mjestu, ako to ne znate, onda na samom kraju prije završne PHP oznake - ?> , ako tako nešto ne postoji, samo dodajte sljedeći kod na samom kraju:

    Funkcija wph_change_submit_label($defaults) ( $defaults["title_reply"] = "Ostavite svoju recenziju"; vrati $defaults; ) add_filter("comment_form_defaults", "wph_change_submit_label");

    Bonus

    Ovo je u biti isto što i u prvoj metodi, jednostavno, tamo smo to implementirali izravno u niz, a ovdje kroz filter. Nakon ovih koraka vidjet ćete promjenu u imenu. Kao i kod prve metode, možete promijeniti tekst - Ostavite svoju recenziju onom koji vam se sviđa. Ovaj tekst je dat kao primjer.

    Također želim predložiti i skrenuti pozornost na deklinaciju riječi Komentari. Ako vaš obrazac prikazuje redak - 1 komentar objavljen ili Komentari: 10. Možete koristiti funkciju iz članka. Ako ga već koristite, preporučujem u liniji s nizom:

    Niz("komentar","komentar","komentari")

    Promijenite nazive u pregled, pregled, pregledi ako ste koristili ovu riječ u gornjim metodama. ovako ćete imati sve isto, a ne razbacano, ima recenzija i komentara.

    Ovo su informacije koje sam vam danas želio dati. Možda će nekome biti od koristi.

    To je sve, hvala na pažnji. 🙂

    Nedavno sam istraživao datoteke svoje WordPress teme, točnije pravila za predložak prikaza komentara, istovremeno razumijevajući njegovu strukturu i razne funkcije odgovorne za prikaz komentara na postovima na blogu. Kao rezultat toga, promijenio sam standardni izlaz, stvorio i uključio vlastitu datoteku comments.php. Odlučio sam dobiveni rezultat predstaviti u obliku članka, budući da sam dobro razumio ovu temu, a bilo je dosta materijala.

    Nadam se da će članak biti koristan vlasnicima WordPress blogova koji poznaju HTML, CSS i PHP.

    ***

    U WordPressu, za povezivanje predloška komentara s postom ili stranicom, upotrijebite funkciju comments_template(), koja uzima dva parametra:

    • prvi je put do datoteke predloška, ​​prema zadanim postavkama to je comments.php u mapi s trenutnom temom
    • drugi se koristi za odvajanje komentara prema vrsti (obični, povratni tragovi i povratni pingovi), prema zadanim postavkama false

    Umetnimo comments_template() nakon što se unos prikaže u predlošku posta single.php ili page page.php.

    Opis i prihvaćene argumente funkcije comments_template() i drugih spomenutih u članku potražite u WordPress Codexu.

    Priprema predloška

    Pokušajmo razumjeti WP predloške komentara i izradimo vlastitu datoteku za prikaz komentara na blog postovima i stranicama. Kao primjere za referencu, možete uzeti predloške iz standardnih WordPress tema. Kreirajmo novi dokument u bilo kojem uređivaču teksta, nazovimo ga comments.php i počnimo uređivati.

    • U principu, datoteku možete nazvati kako god želite, a zatim napisati put do te datoteke u comments_template(), ali bolje je držati se standardnog naziva
    • Usput, također možete urediti datoteku u WP administratorskoj ploči.
    • Najbolje je, naravno, napisati kod i odmah testirati njegov učinak na svom blogu ili na lokalnom poslužitelju.

    U WordPressu je moguće onemogućiti komentare za pojedinačne postove, pa prije njihovog prikazivanja morate provjeriti njihovu “otvorenost”:

    Ovo je omotni kod za naše daljnje radnje. Sada pripremimo spremnik za blok komentara

    sa semantički ispravnom klasom ili identifikatorom (klasa je naravno poželjna):

    Iznutra

    hajde napiši naslov da tvoji čitatelji shvate da su ovdje komentari i ništa drugo, označi

    Ovo će biti baš za ovo:

    "

    Ovdje smo naznačili jednu od WordPress funkcija - the_title(), rezultat izvršavanja ove funkcije bit će izlaz naslova trenutne objave ili stranice. Ako ne želite prikazati naslov, možete jednostavno napisati "Komentari čitatelja".

    Zatim, prije prikazivanja komentara, morate provjeriti postoje li, tj. provjerite, ako postoji, prikažite cijeli popis, ako ne, možete pokazati korisniku nešto poput "". Tako će posjetitelju vaše objave/stranice biti jasno da još nitko ništa nije napisao, a motivirajuća fraza “Možeš biti prvi” povećat će vjerojatnost da će ti brže nešto napisati.

    Dakle, nakon ovakve formulacije problema, postaje jasno da će nam za implementaciju biti potrebne if/else konstrukcije i funkcija za prikaz broja komentara get_comments_number() . Ako funkcija vrati 0 (nula), tada prikazujemo "Još nema komentara...", inače "Komentari čitatelja...":

    Još nema komentara, ali možete biti prvi

    Komentari čitatelja na članak ""

    Rasprave su zatvorene za ovu stranicu

    Ispisivanje komentara

    Odlično, prikazali smo naslove ovisno o prisutnosti ili odsutnosti komentara, sada je logično prikazati same komentare - za to je odgovorna funkcija wp_list_comments(). Zadana funkcija omotava sve komentare u oznake

  • , pa treba dodati omot
      sa zadatkom razreda.commentlist:

      wp_list_comments() uzima niz argumenata koji se mogu koristiti za fleksibilnu prilagodbu prikaza komentara. Na primjer, možete promijeniti veličinu avatara, tekst odgovora na komentar i druge postavke prosljeđivanjem ključne riječi i vrijednosti:

      $args = array("avatar_size" => 64, // veličina avatara 64*64px, zadano 32 "reply_text" => "Odgovor" // tekst odgovora na komentar "callback" => "my_comments" // funkcija za generiranje eksterne vrste komentara)

      Parametar povratnog poziva zaslužuje posebnu pozornost, koji uzima vrijednost naziva prilagođene funkcije za prikaz komentara. Uz njegovu pomoć možete fleksibilno prilagoditi izgled svakog komentara. Ovako izgleda standardna izlazna funkcija iz datoteke comment-template.php:

    1. id="li-komentar-">
      "); ?> %s kaže:"), get_comment_author_link()) ?>
      comment_approved == "0") : ?>
      $dubina, "max_depth" => $args["max_depth"]))) ?>

      Najlakši način je uzeti ovu funkciju i urediti je za sebe, a zatim je pozvati kao prilagođenu tako da je napišete u datoteku comments.php ili functions.php.

      Nakon prikaza popisa komentara, možete promijeniti njihov izgled pomoću CSS stilova. Neki parametri wp_list_comments() su duplicirani u WP adminu, Opcije → Kartica Rasprava, posebno prisutnost stabla komentara, sortiranje po datumu, itd.

      Obrazac za slanje komentara

      Za dodavanje obrasca za komentar upotrijebite funkciju comment_form(). Dodajmo ga pod listu komentara:

      Još nema komentara, ali možete biti prvi

      Komentari čitatelja na članak ""

      1. 64, "reply_text" => "Odgovori", "callback" => "my_comments"); wp_list_comments($args); ?>

      Rasprave su zatvorene za ovu stranicu

      Kada se pozove na ovaj način, comment_form() će učitati standardni kod iz datoteke WordPress comment-template.php. Funkcija ima dva parametra:

      Obrazac_komentara($args, $post_id);

      • $args — niz postavki izlaza obrasca
      • $post_id — ID objave na koju će se funkcija primijeniti, prema zadanim postavkama trenutna objava

      Na primjer, provjerimo valjanost polja obrazaca u HTML5 i dodamo tekstualne savjete. Kreirajmo niz $args za unos potrebnih postavki:

      $args = array(); obrazac_komentara($args);

      Morate registrirati ključeve postavki u nizu:

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

      Sada moramo ispuniti varijablu niza $fields, koja uključuje polja obrasca. Najlakši način je uzeti standardni WordPress kod iz comment-template.php i malo ga promijeniti:

      "

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

      ", "e-mail" => " ", "url" => "

      " . "

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

      Ovdje su vrijednosti parametara autora, e-pošte i url-a html kod polja "Ime", "Mail" i "Site". Ove vrijednosti moraju se urediti.

      Za polja moramo dodati sljedeće atribute:

      • potrebno - čini polja obaveznim, dodajte ga za polja "Ime" i "Site".
      • rezervirano mjesto - dodaje tekstualni opis u polje
      • pattern="(3,)" za polje "Ime" - navedite ime slovima latinične ili ruske abecede i duljine od najmanje 3 znaka
      • type="email" za polje "Mail" - ovo će dodati HTML5 provjeru valjanosti e-pošte
      • autocomplete - omogućuje automatsko dovršavanje za polja
      • type="url" za polje "Site".

      Ne zaboravite da novi HTML5 atributi neće raditi u starijim preglednicima. Oni preglednici koji ne razumiju nove vrste polja jednostavno će ih prikazati kao tekst, tj. .

      Osim toga, za svoj sam blog tu i tamo zamijenio oznake, dodao klase za stiliziranje i kao rezultat dobio sam sljedeći kod za polje $fields:

      "

      ", "e-mail" => " ", "url" => "

      "); ?>

      Promijenili smo polja za unos podataka. Sada uredimo sam obrazac za komentar

      " ?>

      Ovo je standardni WordPress kod, samo sam ga malo modificirao - dodao sam tekstualni savjet i napisao dodatnu klasu za stiliziranje.

      Ovo je ono što sam završio koristeći CSS stiliziranje:

      WordPress obrazac za komentar koji koristi HTML5 atribute

      Poanta

      Na kraju ću objaviti svoj dobiveni comments.php kod:

      čitatelji članka ""

      • Ostavite prvi komentar - potrudio se autor
      1. id="li-komentar-">
        "); ?> %s piše:"), get_comment_author_link()) ?>
        comment_approved == "0") : ?>
        $dubina, "max_depth" => $args["max_depth"]))) ?>
        "Odgovori", "povratni poziv" => "verstaka_comment"); wp_list_comments($args); ?>
      "

      ", "e-mail" => " ", "url" => "

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

      ", "label_submit" => "Pošalji", "fields" => apply_filters("comment_form_default_fields", $fields)); comment_form($args); ?>

      Rasprave su zatvorene za ovu stranicu

      FAQ o komentarima

      Kako istaknuti komentare autora i korisnika?

      Ponekad je vrlo zgodno postaviti zaseban izgled za komentare autora; čak postoje posebni dodaci za to. Međutim, možete i bez dodataka - jednostavnim pisanjem stilova za klasu .bypostauthor u css datoteku. Slično, možete postaviti stilove za korisničke komentare - .bypostuser:

      Kako stilizirati komentare stabla?

      Da biste omogućili komentare stabla, morate otići na WP admin, Postavke → Rasprava → Dopusti komentare stabla. Sada će dječji komentari imati strukturu stabla; mogu im se dati pojedinačni stilovi, na primjer, uvlake. Sve što trebate učiniti je postaviti pravila u css-u za popis s class.children:

      Popis komentara .children ( padding: 0 0 0 40px; /* lijevo padding za dječje komentare */ )

      Stilovi za parne i neparne komentare

      WordPress prema zadanim postavkama daje neparnim komentarima klasu .even, a parnim komentarima klasu .odd. Lako je postaviti vlastite stilove kroz ove klase:

      Popis komentara .even ( /* stilovi za neparne komentare */ ) .popis komentara .odd ( /* stilovi za parne komentare */ )

      Kako zatvoriti komentare na zasebnoj objavi?

      Vrlo je jednostavno - idite na stranicu za pisanje objave, Postavke zaslona → Rasprave, ispod polja za objavu pojavljuje se blok Rasprave, poništite opciju Dopusti komentare.

      • Prilikom izrade vlastitog predloška za komentare možete koristiti datoteke comments.php iz standardnih i drugih plaćenih i besplatnih WordPress tema
      • Alternativa standardnim komentarima su dodaci obrazaca za komentare trećih strana, na primjer popularni DISQUS
      • Sasvim je moguće urediti kôd izravno u samoj datoteci comment-template.php, međutim, ako se WordPress ažurira, sav će kôd biti prebrisan - morat ćete ponovno urediti
      • Zapamtite, ne postoji savršen predložak komentara.

      Pomozite projektu

      65 glasova, prosjek: 4,46 od 5)

      Prošlo je dosta vremena otkako sam išta napisao o WordPressu. Stoga ću danas s vama podijeliti kako možete ručno promijeniti formu komentara u WordPressu. Mislim da ovo znanje može biti korisno svakom blogeru početniku, jer je forma za komentiranje ponekad jedino sredstvo komunikacije između posjetitelja i autora. Ne prolazite :)

      Prije nego počnemo bilo kakve manipulacije s kodom, želim vas unaprijed upozoriti da ćemo uređivati ​​datoteke samog WordPressa, a ne datoteke tema. Da, nekome se može činiti opasno, nekome besmisleno, a drugima se jednostavno neće svidjeti :) Ali ja sam to točno tako napravila i nisam imala nikakvih problema. Savjetujem vam da prije početka napravite sigurnosnu kopiju datoteke koju uređujete.
      Upozorio sam vas na sigurnost, sada želim pokazati rezultat do kojeg sam došao.


      Kao što vidimo, redak “Vaša e-pošta neće biti objavljena” je uklonjen. Obavezna polja su označena *". Nema potrebe smatrati posjetitelje idiotima bez mozga. Oni već razumiju što treba ispuniti, a što ne. Sakrio sam i nazive polja unutar samih polja. Čemu služe ove podebljane bilješke? Većina posjetitelja, čak i bez naziva polja, može “na oko” odrediti koje kojem pripada. Ali unutarnji savjeti i dalje moraju biti prisutni. Pa, natpis u polju za komentar izgubio je nepotrebnu smjelost. Po mom mišljenju, postalo je puno bolje i slobodnije.

      Zato brzo promijenimo sve! ;)
      Idemo u mapu naše stranice i u njoj nalazimo datoteku wp-includes/comment-template.php. U njemu tražimo liniju 1522, da, to je to. Kako sam ga sama pronašla je cela priča, ispričaću vam malo kasnije :)
      Dakle, otvorite datoteku za uređivanje i idite na liniju 1522. Sada je to i sljedeće (do 1529.) otprilike ovako:

      $fields = array("author" => "

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

      ", "e-mail" => " ", "url" => "

      " . "

      ",);

      Kako je sve jednostavno i jasno. Dovoljno je samo izrezati sav višak i dodati malo. Parametar će biti dodan

      Placeholder="tekst pomoći" !}

      Ova vam opcija omogućuje prikaz bilo kojeg teksta unutar polja. Koristimo ga za prikaz savjeta:

      "

      " "

      " "

      "

      Izbrisat ćemo retke:

      "

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

      "

      Oni su odgovorni za prikaz natpisa iznad polja.
      Kao rezultat SVIH ovih manipulacija dobivamo sljedeće:

      $fields = array("author" => "

      ", "e-mail" => "

      ", "url" => "

      ",);

      Ostaje samo ukloniti glupi hint “Vaš e-mail neće biti objavljen. Obavezna polja su označena *". Da biste to učinili, izbrišite red (otprilike 1537):

      "comment_notes_before" => "

      " . __("Vaša adresa e-pošte neće biti objavljena.") . ($req ? $required_text: "") . "

      ",

      Čini se da je to sve, sad nam je forma postala malo atraktivnija. Nadam se da će ova informacija nekome biti korisna :)

      Pretplatite se, komentirajte, bit će mi drago primiti sve adekvatne komentare. Možda ja nešto ne znam i može se učiniti drugačije, podijelite svoje mišljenje.

      Zdravo!

      Današnji članak posvećen je WordPress izlaz komentara. Pogledat ćemo koje datoteke i funkcije sadrže kod odgovoran za prikaz komentara. Što je potrebno učiniti da biste mogli unijeti izmjene u ovaj WordPress blog blok.

      Dopustite mi da počnem s činjenicom da svaki WordPress predložak (tema) ima datoteku komentari.php Puni put do njega iz korijenskog direktorija je: /wp-content/themes/template_folder/comments.php

      Točno komentari.php općenito je odgovoran za blok komentara u određenoj WordPress temi.

      Što se najčešće nalazi u comments.php:

      – provjeriti zaštitu komentara lozinkom

      – provjera jesu li dopušteni komentari na članak

      – provjera komentara i prikazivanje odgovarajućeg teksta (“Nema komentara...” ili “Ostalo je N komentara”)

      pozivanje funkcije izlaza komentara – wp_list_comments()

      – izlaz navigacije (straničenja) pri postavljanju komentara na više stranica

      – prikaz forme za ostavljanje komentara na članak

      Ovdje je jasno da možete definirati svoje klase ili promijeniti svojstva stil.css za već postojeće razrede. Tako možete promijeniti izgled obrasca za ostavljanje komentara i tekstova prije popisa komentara i iza ovog popisa ili obrasca. Ali Stilovi ispisa samih komentara ne mogu se mijenjati u comments.php.

      Kad sam naveo sadržaj datoteke komentari.php, tada je posebno naglasio da je u komentari.php postoji samo poziv funkcije za prikaz komentara wp_list_comments(), ali ne i sam zaključak. Oni. V komentari.php nećete pronaći (barem u zadnjim verzijama WordPress-a i uz pravi pristup razvoju predložaka): prikaz imena autora poruke i poveznicu na njegovu web stranicu, prikaz avatara autora, prikaz datuma i vremena komentar, sam komentar i poveznicu "odgovori".

      Kako promijeniti stilove u popisu komentara?

      Prvo morate saznati koristi li vaš predložak prilagođenu funkciju za prikaz komentara.

      Funkcija wp_list_comments() može se pozvati bez povratnog poziva (povratni poziv je funkcija povratnog poziva) i s povratnim pozivom.

      1. Pozovite wp_list_comments bez povratnog poziva:

      Oni. u parametrima funkcije (ono što je u zagradama iza imena) ne postoji parametar koji se zove 'povratni poziv'.

      Ako u komentar.php tvoj predložak je takva situacija, dakle to znači da ova tema nema vlastitu (korisničku) funkciju za prikaz komentara a za to se koristi standardni predložak (predložak iz WordPress jezgre). Nalazi se u datoteci. I od tada U ovom slučaju nećemo moći promijeniti stilove prikaza komentara dok ne prijeđemo na drugu opciju.

      2. Pozovite wp_list_comments s povratnim pozivom:

      "type=comment&avatar_size=48&callback=custom_comment") ; ?>

      povratni poziv=prilagođeni_komentar ukazuje na to za prikaz komentara imamo prilagođenu funkciju prilagođeni_komentar , čiji kod, grubo rečeno, prosljeđujemo kao parametar za izvođenje standardnoj funkciji wp_list_comments. Ali nas više ne zanima tehnička strana ovog problema, već prisutnost u predlošku vlastite funkcije za prikaz komentara. Kôd za ovu funkciju nalazi se u .

      Upravo u ovoj prilagođenoj funkciji prilagođeni_komentar i nalazi se kod koji je odgovoran za izgled pojedinog komentara, a time i svih komentara u cjelini.

      Prilagođeni funkcijski kod je intuitivan. Obično koristi sljedeće standardne WordPress značajke:

      get_comment_author_link()– prima html poveznicu na web stranicu autora trenutnog komentara;

      get_comment_date()– dobiva datum komentara;

      get_comment_time()– dobiva vrijeme za komentar;

      komentar_tekst()– prikazuje tekst komentara;

      Možete pronaći isječke s ovim funkcijama u kodu i promijeniti izgled određenih elemenata tako da ih uokvirite u divove ili spanove i dodijelite određene klase stilova.

      Na primjer, u kodu prilagođene funkcije, fragment izlaza avatara:

      < div class = "comment-author" >

      < / div >

      Sada ostaje unutra stil.css postavite željena svojstva klase komentar-autor. Konkretne primjere promjene stilova detaljnije ću pogledati u jednom od sljedećih članaka.

      Sada se možda pitate: " Što ako moj predložak nema prilagođenu funkciju komentara?

      Odgovor: morate ga stvoriti.

      Najlakša opcija je kopirati kod standardne WordPress funkcije komentar().

      Upute za stvaranje prilagođene funkcije za prikaz komentara:

      1. Otvorite datoteku /wp-includes/comment-template.php i pronađite funkciju u njemu komentar().

      Evo početka njezina opisa

      /** * @od 3.6 * @access protected * * @param object $comment Komentar za prikaz. * @param int $depth Dubina komentara. * @param polje $args Izborni argumenti. */ komentar zaštićene funkcije ($comment, $depth, $args) (

      * @od 3.6

      * @pristup zaštićen

      * @param objekt $comment Komentar za prikaz.

      * @param int $depth Dubina komentara.

      * @param polje $args Izborni argumenti.

      komentar zaštićene funkcije ($comment, $depth, $args) (

      2. Kopirajte cijelo tijelo funkcije komentar().

      Morate kopirati fragment koda s početka opisa prikazanog u koraku 1 u završnu vitičastu zagradu } i sljedeći sličan opis druge funkcije