Zamjene dodati komentar komentar. Fino podešavanje obrasca za komentare

Nedavno sam kopao po svojim fajlovima. WordPress teme, odnosno pravila za predložak za prikaz komentara, usput razumijevanje njegove strukture i raznih funkcija odgovornih za prikazivanje komentara na blog postovima. Kao rezultat toga, promijenio sam standardni izlaz, kreirao i uključio svoj comments.php fajl. Odlučio sam objaviti rezultat u obliku članka, jer sam dobro razumio ovu temu, a bilo je dosta materijala.

Nadam se da će ovaj članak biti koristan za vlasnike WordPress blogova koji su upoznati sa HTML-om, CSS-om i PHP-om.

***

U WordPressu, za povezivanje predloška komentara sa objavom ili stranicom, koristi se funkcija comments_template() koja uzima dva parametra:

  • prvi je put do datoteke šablona, ​​po defaultu je comments.php u folderu sa trenutnom temom
  • drugi se koristi za razdvajanje komentara po tipu (običan, trackback i pingback), po defaultu lažno

Ubacimo comments_template() nakon izlaza posta u single.php predložak posta ili page.php šablon stranice.

Pogledajte WordPress Codex za opis i prihvaćene argumente za funkciju comments_template() i druge navedene u članku.

Priprema šablona

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

  • U principu, možete imenovati datoteku kako god želite, a zatim napisati putanju do ove datoteke u comments_template(), ali je bolje držati se standardnog naziva
  • Usput, fajl možete urediti u WP admin panelu
  • Najbolje je naravno napisati kod i odmah provjeriti njegovu radnju na svom blogu ili na lokalnom serveru.

U WordPress-u je moguće onemogućiti komentare za pojedinačne objave, pa prije nego što ih prikažete, morate provjeriti da li je „otvorenost“:

Ovo je omotni kod za naše sljedeće korake. Sada pripremimo kontejner za blok komentara

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

Unutra

napišite naslov da vaši čitaoci shvate da ima komentara i ništa drugo, označite

biće taman za ovo:

"

Ovdje smo naveli jednu od WordPress funkcija - the_title() , rezultat izvršavanja ove funkcije će biti naslov trenutnog posta ili stranice. Ako ne želite da prikažete naslov, možete jednostavno napisati "Komentari čitalaca".

Nadalje, prije prikazivanja komentara, morate se uvjeriti da su dostupni, tj. provjerite, ako postoji - izlaz puna lista, ako ne, onda možete pokazati korisniku nešto poput "". Tako će posjetitelju vaše objave/stranice biti jasno da još niko ništa nije napisao, a motivirajuća fraza “Možete biti prvi” povećat će vjerovatnoću da će vam nešto brže napisati.

Dakle, nakon takve izjave problema, postaje jasno da će nam za implementaciju trebati if/else konstrukcije i funkcija za prikaz broja komentara get_comments_number() . Ako funkcija vrati 0 (nula), tada prikazujemo "Još nema komentara...", u suprotnom "Komentari čitalaca...":

Još nema komentara, ali možete biti prvi

Komentari čitalaca na članak ""

Diskusije su zatvorene za ovu stranicu

Izlaz komentara

Odlično, prikazali smo naslove ovisno o prisutnosti ili odsustvu komentara, sada je logično prikazati i same komentare - za to je zaslužna funkcija wp_list_comments(). Zadana funkcija umotava sve komentare u oznake

  • , pa biste trebali dodati omot
      sa listom zadatka razreda:

      wp_list_comments() prihvata niz argumenata pomoću kojih možete fleksibilno prilagoditi izlaz komentara. Na primjer, možete promijeniti veličinu avatara, tekst odgovora na komentar i druge postavke dodavanjem ključna riječ i značenje:

      $args = array("avatar_size" => 64, // veličina avatara je 64*64px, default je 32 tipa komentara)

      Parametar povratnog poziva zaslužuje posebnu pažnju, koji uzima vrijednost imena prilagođene izlazne funkcije komentara. Omogućava vam fleksibilno prilagođavanje izgled svaki komentar. Ovako to izgleda standardna funkcija izlaz iz comment-template.php fajla:

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

      Najlakši način je da uzmete ovu funkciju i uredite je za sebe, a zatim je nazovete kao prilagođenu tako što ćete je napisati u datoteci comments.php ili functions.php.

      Nakon što navedete komentare, možete promijeniti njihov izgled pomoću CSS stilova. Neke opcije wp_list_comments() se dupliraju u WP admin, Options → Discussion tab, posebno prisustvo komentara stabla, sortiranje po datumu, itd.

      Obrazac za podnošenje komentara

      Da biste dodali obrazac za komentar, koristite funkciju comment_form(). Dodajmo to ispod liste komentara:

      Još nema komentara, ali možete biti prvi

      Komentari čitalaca na članak ""

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

      Diskusije su zatvorene za ovu stranicu

      Sa ovim pozivom, comment_form() će učitati zadani kod iz WordPress comment-template.php datoteke. Funkcija uzima dva parametra:

      Comment_form($args, $post_id);

      • $args - niz postavki izlaza forme
      • $post_id - id objave na koju će se funkcija primijeniti, po defaultu trenutni post

      Na primjer, uradimo validaciju na HTML5 poljima obrasca, dodamo tekstualne savjete. Kreirajmo niz $args za unos željenih postavki:

      $args = niz(); comment_form($args);

      U nizu morate upisati ključeve postavki:

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

      Sada moramo popuniti varijablu niza $fields, koja uključuje polja obrasca. Najlakši način je da uzmete zadani WordPress kod sa comment-template.php i malo ga modificirate:

      "

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

      ", "e-pošta" => " ", "url" => "

      " . "

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

      Ovdje su vrijednosti parametara author, email i url html kod polja Name, Mail i Website. Ove vrijednosti je potrebno urediti.

      Za polja moramo dodati sljedeće atribute:

      • obavezno - čini polja obaveznim, dodajte ga za polja "Naziv" i "Site".
      • čuvar mjesta - dodaje tekstualni savjet u polje
      • pattern="(3,)" za polje "Ime" - navedite ime slovima latinice ili ruske abecede i dužine od najmanje 3 znaka
      • type="email" za polje "Mail" - ovo će dodati HTML5 validaciju e-pošte
      • autocomplete - omogućava automatsko dovršavanje za polja
      • type="url" za polje "Site".

      Imajte na umu da novi HTML5 atributi neće raditi u starijim pretraživačima. Oni pretraživači koji ne razumiju nove tipove polja jednostavno će ih prikazati kao tekst, tj. .

      Osim toga, za svoj blog sam zamijenio oznake na nekim mjestima, dodao klase za stiliziranje, kao rezultat dobio sam sljedeći kod niza $fields:

      "

      ", "e-pošta" => " ", "url" => "

      "); ?>

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

      " ?>

      Ovo je standardni WordPress kod, samo sam ga malo izmijenio - dodao sam tekstualni hint i dodao dodatnu klasu za stilizovanje.

      Evo šta sam završio sa CSS stilom:

      WordPress formular za komentare koristeći HTML5 atribute

      Ishod

      Konačno, odbacit ću svoj rezultirajući kod comments.php:

      čitaoci članaka""

      • Budite prvi koji će ostaviti komentar - pokušao je autor
      1. id="li-komentar-">
        "); ?> %s piše:"), get_comment_author_link()) ?>
        comment_approved == "0") : ?>
        $depth, "max_depth" => $args["max_depth"]))) ?>
        "Odgovor", "callback" => "verstaka_comment"); wp_list_comments($args); ?>
      "

      ", "e-pošta" => " ", "url" => "

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

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

      Diskusije su zatvorene za ovu stranicu

      FAQ o komentarima

      Kako istaknuti komentare autora i korisnika?

      Ponekad je vrlo zgodno postaviti poseban izgled za komentare autora, čak postoje i posebni dodaci za to. Međutim, možete bez ikakvih dodataka - samo pisanjem stilova za .bypostauthor klasu u css datoteci. Slično, možete postaviti stilove za komentare korisnika - .bypostuser:

      Kako stilizirati komentare stabla?

      Da biste omogućili komentare na stablu, potrebno je da odete na WP admin, Podešavanja → Diskusija → Dozvoli komentare na stablu. Sada će podređeni komentari imati strukturu stabla, mogu im se dati zasebni stilovi, na primjer, uvučeni. Sve što trebate učiniti je postaviti css pravila za listu pomoću klase .children:

      Lista komentara .children (dodaci: 0 0 0 40px; /* lijevo dopuna za dječje komentare */ )

      Stilovi za parne i neparne komentare

      WordPress po defaultu daje neparne komentare class.even , par comments.odd . Kroz ove klase lako je postaviti vlastite stilove:

      Commentlist .even ( /* stilovi za neparne komentare */ ) .commentlist .odd ( /* stilovi za parne komentare */ )

      Kako zatvoriti komentare na jednu objavu?

      Vrlo jednostavno - idite na stranicu za pisanje objave, Postavke ekrana → Diskusije, ispod polja za objavu pojavljuje se blok Diskusije, poništite odabir stavke Dozvoli komentare.

      • Prilikom sastavljanja vlastitog predloška komentara, možete koristiti datoteke comments.php iz standardnih i drugih plaćenih i besplatnih WordPress tema
      • Alternativa standardnim komentarima su dodaci za formulare za komentare treće strane, kao što je popularni DISQUS
      • Sasvim je moguće urediti kod direktno u samom fajlu comment-template.php, međutim, u slučaju ažuriranja WordPress-a, sav kod će biti prepisan - morat ćete ga ponovo urediti
      • Zapamtite - ne postoji savršen šablon za komentare

      Pomozite projektu

      65 glasova, prosjek: 4,46 od 5)

      Vrijeme je da se ozbiljno pozabavite stiliziranjem WordPress komentara. U skoro svim temama, one su konfigurisane sistemskim datotekama, što zauzvrat ograničava uređivanje pojedinačnih funkcija. Mislim da su mnogi ljudi naišli na ovo kada su trebali promijeniti komentare, ali nisu mogli pronaći gdje se to tačno nalazi. Stoga će biti bolje prebaciti svu funkcionalnost na trenutnu temu, što će nam dati potpunu slobodu kontrole.

      U ovom članku sam sastavio neke cool funkcije koje će vam pomoći da poboljšate komentare. Ipak, oni vam omogućavaju da vodite dijaloge, kako sa administratorom sajta, tako i između korisnika. Odgovarajte na pitanja, započnite razne rasprave, općenito, uvedite punopravnu virtualnu komunikaciju. Zato je potrebno obratiti pažnju na njih i dovesti ih u odgovarajući oblik.

      Evo šta ćemo učiniti:

      • Potpuno prilagođavanje
      • Stajling izgleda
      • Numeracija komentara
      • Broj objava po korisniku
      • Dodijelite status svakom korisniku
      • I druge sitnice

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

      Prilagođavanje komentara

      U WordPress-u, komentari se prikazuju pomoću funkcije wp_list_comments, obično u datoteci comments.php. A formiranje pojedinačnih funkcija, baš kao i sama petlja, koristi se iz predloška sistemske datoteke comment-template.php. Ali u rijetkim slučajevima, dešava se da se postavka može nalaziti u WordPress temi, datoteci functions.php ili comments.php.

      Dakle, ako vaša tema ne spada u rijetke slučajeve i postoji potreba da napravite vlastita podešavanja, otvorite datoteku functions.php i dodajte sljedeći kod prije znaka ?>:

      If (! function_exists("my_comment")) : funkcija my_comments($comment, $args, $depth) ( globalni $commentnumber; $GLOBALS["comment"] = $comment; prekidač ($comment->comment_type) : slučaj " pingback" : case "trackback" : ?>

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

      Zatim u datoteci comments.php dodajte funkciju poziva:

        "moji_komentari")); $commentnumber = 0; ?>

      Nakon ovih manipulacija, vaši komentari će biti generisani prema funkciji šablona iz datoteke functions.php trenutne teme.

      Brojanje komentara svakog korisnika

      Koristeći funkciju ispod, možemo prikazati ukupan broj postova preostalih pored komentatora. Tako možete uočiti koliko je korisnik aktivan, a ni tada statistika nije suvišna, posebno u tom pogledu.

      Otvaramo nam već poznatu datoteku functions.php i pišemo sljedeći kod na kraju prije znaka?>:

      // funkcija brojanja korisničkih postova bac_comment_count_per_user() ( globalni $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" I comment_type NIJE IN ("pingback", "trackback")"); if ($comment_count == 1) ( echo " 1 Post"; ) else ( echo " " . $comment_count . " Postovi. "; ) )

      Sada ostaje dodati funkciju poziva na mjesto koje vam je potrebno:

      Poruke će se računati na osnovu e-maila korisnika, registrovanih i ne. Komentari se uzimaju u obzir samo potvrđeni od strane administratora stranice, ali ne i u standby modu i brišu se.

      Svakom korisniku dodjeljujemo status ovisno o broju komentara

      To je upravo slučaj kada statistika definitivno igra važnu ulogu. Budući da je funkcija izgrađena na osnovu broja poruka, i kao rezultat, dostignuti broj daje korisniku odgovarajući status. Ovo se, u teoriji, koristi na svakom forumu kako bi se pokazao autoritet korisnika na ovom resursu.

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

      //funkcija statusa korisnika get_author_class($comment_author_email,$user_id)( globalni $wpdb; $adminEmail = get_option("admin_email"); $author_count = count($wpdb->get_results("SELECT comment_ID kao autor_count-> iz $wpdb-a) "; 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>Profesore";)

      I na željeno mjesto ispisujemo funkciju poziva:

      comment_author_email,$comment->user_id)?>

      Objašnjenje: funkcija je, kao i prethodna, povezana sa korisnikovom e-poštom. Samo ovdje glavni zadatak nije lako brojati poruke, već broj od i do u zavisnosti od postavljenog broja. I čim korisnik dođe do njega, dobija određenu poziciju. Ukupno ima 7 statusa, plus admin i oznaka za registrovane učesnike.

      Potpuno gotov kod komentara

      Evo došli smo do kraja ovog članka. Ovdje nisam bio previše lijen, prikupljajući sve funkcije, uključujući postavljanje komentara u jednom gotovom kodu. Dodao sam svoje stilove izgleda i rezultat je bio nešto poput mini-foruma.

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

      // funkcija brojanja korisničkih postova bac_comment_count_per_user() ( globalni $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" I comment_type NIJE IN ("pingback", "trackback")"); if ($comment_count == 1) ( echo " 1 Post"; ) else ( echo " " . $comment_count . " Postovi. "; ) ) //funkcija statusa korisnika get_author_class($comment_author_email,$user_id)( globalni $wpdb; $adminEmail = get_option("admin_email"); $author_count = count($wpdb->get_results("SELECT FROM_ID kao autor_counta) wpdb->comments WHERE comment_author_email = "$comment_author_email" ")); if($comment_author_email ==$adminEmail) echo "Admin"; if($user_id!=0 && $comment_author_email !=$adminUse) e; ($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 "Profesore"; ) // prilagođavanje komentara if (! function_exists("wordsmall_comment")) : funkcija wordsmall_comment($comment, $args, $depth) ( globalni $commentnumber; $GLOBALS["comment"] = $comment; switch ($comment- > comment_type) : case "pingback" : case "trackback" : ?>

    4. 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); ?> @ Odgovor za:autor_komentara;?>
      comment_parent) $avatar_size = 60; echo get_avatar($comment, $avatar_size); ?> comment_author_email,$comment->user_id)?>
      comment_approved == "0") : ?>
      ", ""); ?> __("Odgovori", "wallpress"), "depth" => $depth, "max_depth" => $args["max_depth"]))); ?>

      Sada otvorite datoteku comments.php, u njoj nalazimo funkciju za pozivanje komentara. izgleda ovako:

      Promijenite na ovo:

        "wordsmall_comment")); ?>

      Poslednji korak. Otvorite datoteku style.css i dodajte sljedeće stilove na kraju:

      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 treba padding za stablo com.postavite ga na 15px*/ ) .my_commentlist .comment .children .comment( margin:15px 0 0 0 ; granica: nema; padding: 0; ) #comments (pozadina: #fff; ) #comments .my_commentlist ( margin: 10px 0; padding: 0; list-style:none; background: #ebf0f3; padding: 5px; ) # komentari .my_commentlist .comment ( margin:0; padding: 0 0 10px; pozadina: #fff; ) #comments .my_commentlist .my_comment-author ( display: inline; border-right: 1px solid #e0e0e0; širina: 100px; float: lijevo; margina : 0px 15px 10px 0; ) #comments .my_commentlist .commentmetadata (float:left; ) #comments .my_commentlist p ( clear:none; boja: #555; font: 14px arial; line-height: 23px; ) # komentari .my_commentlist .comment-conte nt(margin-lijevo: 116px; padding-right: 10px; ) #comments .my_commentlist .reply (text-align:right; ) #comments .my_commentlist .reply a( background: #f5f5f5; granica: 1px solid rgba(0, 0, 0, 0.06); border-radius: 2px; boja : #515456; display: inline-block; font-size: 13px; font-weight: normal; line-height: 30px; margin-right: 15px; min-height: 30px; padding: 0 12px; text-align: center ; text-decoration: nema; ) .my_commentlist .avatar( granica: srednja bez; granica-radijus: 50%; float: nema; margina: 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: normalan 13px/30px arial; float: desno; padding-right: 15px; ) .my_commentlist .comment-body ( overflow: skriven; položaj: relativna; background:#fff; ) .my_commentlist .rep-authorcom (boja: #25394e; veličina fonta: 13px; visina linije: 30px; ) .my_commentlist .edit-link a (pozadina: nema !important; granica: nema !important; border-radius: 0 !važno; boja: #999!važno; prikaz: inline-blok; veličina fonta: 11px !važno; težina fonta: normalna; visina linije: 30px; margina desno: 5px !važno; minimalna visina: 30px ; padding: 0 !važno; text-align: center; text-decoration: none; ) .com_per ( granica: srednja bez; boja: #666; display: block; veličina fonta: 11px; text-align: centar; ) .vip1, .vip, .vp, .vip2, .vip3, .vip4, .vip5, .vip6, .vip7 ( granica: srednji bez; font: bold 13px arial; prikaz: blok; poravnanje teksta: centar; margina- dno: 5px; dekoracija teksta: nema; ) .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 ;)

      Kod je potpuno funkcionalan i ne uzrokuje greške, ali će možda biti potrebne manje promjene u CSS stilovima.

      Zdravo, prijatelji! Vladimir Saveljev je u kontaktu. Danas ću vam pokazati kako da napravite, prilagodite i lijepo dizajnirate WordPress formular za komentare, sa i bez dodataka... I analiziraćemo vrlo važno pitanje: Da li komentari utiču na rangiranje bloga u pretraživačima? Ali pre svega...

      U ovom članku ću se pozabaviti sljedećim pitanjima:

      • Kako prilagoditi WordPress formular za komentare za potrebe publike;
      • Kako lijepo stilizirati komentare pomoću CSS-a;
      • Kako istaknuti komentare autora bloga bez dodatka;
      • Kako napraviti sebi gravatar za prikaz vaše fotografije kada komentirate svoj i druge blogove;
      • Koje važne dodatke instalirati za modul komentara za dodavanje funkcionalnosti;
      • Kako umetnuti emotikone u formular za komentare i zamijeniti ih originalnijim;

      Činjenica je da sam nedavno i sam, na svom blogu, podsjetio na formu wordpress komentara i u potrazi za potrebnim i tačnim informacijama mi je oduzelo dosta vremena. E sad, kad bih naišao na takav članak, gdje su sakupljene skoro sve informacije, uštedio bih dosta vremena, a ovo vrijeme bih posvetio važnijim pitanjima, a ne tehničkim!

      Usput, čestitam vam na prvom snijegu! Ne znam za vas, ali u nasem gradu danas pada sneg ceo dan iščekujući skoru Novu godinu i miris mandarina =) Nisam imao vremena da uživam u prošlom ljetu, sve vrijeme sam bio u poslu i posla, nisam primetio kako je leto i prošlo = (Pa dobro, imaću još vremena da se opustim i odmorim. Kako kaže moja voljena žena, odmaraću se u penziji!

      Dobro, vratimo se sada na temu!

      Počnimo od toga kako komentari na WordPressu utiču na rangiranje blogova u pretraživačima?! Odgovor je očigledan - to je uticaj PF, odnosno faktora ponašanja!

      Uzmimo primjer, postoje dva bloga, jedan od njih ima wordpress formu za komentare, a drugi nema! Posjetilac je otišao na blog, gdje je pročitao zanimljiv članak i to je to, teško da će se ponovo vratiti na stranicu materijala, slažete li se sa mnom?

      A na blogu gde se komentariše, nakon čitanja članka, posetilac će pročitati i komentare, pitam se šta drugi pišu na ovu temu! A ako se i posjetitelj uključi u diskusiju, onda će generalno biti prekrasno =) Koliko će puta otići na ovu stranicu da provjeri da li mu je neko odgovorio?!

      Inače, naišao sam na jedan resurs gdje je postavljen eksperiment sa dva bloga, na jednom blogu su bili komentari, a na drugom ne. Dakle, blog koji je komentarisan je uspješno napredovao i posjećenost je rasla, u poređenju sa drugim blogom!

      Zahvaljujući komentarima, vrijeme provedeno na blogu se povećava, kao i broj direktnih posjeta, čime se poboljšava performanse stranice ili bloga, a to nisu svi plusi!

      Dosta teorije, pređimo na praktični dio!

      Kako prilagoditi WordPress formular za komentare

      U stvari, postavljanje modula za komentare je vrlo jednostavno i neće vam oduzeti mnogo vremena. Sve što treba da uradite je da označite polja gde sam ja uradio! Slijedite upute i uspjet ćete na najbolji mogući način!

      Kako lijepo dizajnirati obrazac za komentare

      U ovoj fazi će vam trebati barem osnovno znanje css-a i html-a. Ako ih nemate, učinite to na vlastitu odgovornost i ne zaboravite sačuvati originalni kod prije uređivanja.

      Da biste promijenili dizajn komentara, potrebno ga je pronaći u postavkama, Izgled - Editor - Style sheet (style.css), nešto poput ovog koda:

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

      Ukratko, tražimo sve stilove koji počinju sa komentar, i promijenite njihovu vrijednost po svom ukusu i boji.

      Kako istaknuti komentare autora bez dodatka

      Zašto je ovo potrebno?! Pa, prije svega, daje posjetitelju predstavu ko je, između ostalih komentatora, autor bloga! Također će olakšati navigaciju autoru bloga!

      Dodatak će pomoći u rješavanju ovog problema - Istaknite komentare autora, ali ja nisam pobornik dodataka, jer veliki broj njih negativno utiče na blog! Stoga, kad god je moguće, trudim se da sve radim u kodu, što vam savjetujem!

      Da biste implementirali ovu funkciju sa kodom bez dodatka, potrebno je da dodate novu klasu stila sa prijavom administratora bloga u postavkama: Izgled - Urednik - Stylesheet (style.css).

      U mom slučaju kod izgleda ovako:

      Lista komentara div.comment-author- Vaš login na ulazu u admin panel(boja pozadine:#f5f5e1!important;margin-bottom:15px;padding:10px 10px 10px 80px;position:relative;border: 1px solid #bbb; border-radius: 8px;)

      I promijenite dizajn, drugačiji od ostalih komentara! Sve je jednostavno!

      Da spriječite napadača da sazna vašu pravu prijavu, napišite kod u functions.php

      funkcija del_login_css($css) (
      foreach ($css kao $key => $class) (
      if (strstr ($class, "VAŠA PRAVA LOGIN")) (
      $css[$key] = "DOĐITE SA FIKCIJOM"; ) )
      return $css;
      }
      add_filter("comment_class", "del_login_css");

      Kako napraviti svoj gravatar (fotografija u komentarima)

      Ako želite da vaša fotografija bude prikazana prilikom komentiranja na vašem ili drugim blogovima, a ne prazna slika, onda morate učiniti sljedeće. Registrirajte se na https://ru.gravatar.com

      Popunjavamo sva potrebna polja i to je to! Sada će vaša fotografija uvijek biti sa vama, gdje navedete email uz koji je slika priložena! Važno je da se registrujete sa e-mailom koji obično unesete kada komentarišete.

      Važni WordPress dodaci za komentarisanje

      Navest ću tri glavna dodatka za komentarisanje koje imam na svom blogu. Preporučujem da ih instalirate!

      • Preusmjeravanje komentara od Yoast-a - Prvi komentar Hvala Plugin! Prvo morate kreirati stranicu zahvale i unijeti njenu putanju u postavkama dodatka!
      • WordPress Zero Spam je nevidljiva captcha dizajnirana da zaštiti od neželjene pošte, ne smeta komentatorima da rješavaju aritmetičke primjere, samo je ne vide...
      • - pretplata na komentare. Princip rada: posjetitelj, nakon što je napisao komentar, može se pretplatiti na njihova ažuriranja, kao i upravljati pretplatama.

      Emotikoni u wordpress formi za komentare

      Pročitajte članak o tome kako napraviti, kao i kako zamijeniti standardne emotikone drugim.

      To je sve! Nadam se da ste uspjeli sve podesiti, ako niste našli svoje pitanje u vezi wordpress formulara za komentare, slobodno napišite komentar i rado ću vam odgovoriti! Ako vam se svidio članak, pretplatite se na ažuriranja bloga i preporučite ga svojim prijateljima klikom na gumbe društvenih mreža ispod! Biću veoma zahvalan! Vidimo se uskoro u novom članku!


      S poštovanjem, Vladimir Saveliev

      Premium lekcije iz webformyself kluba

      Ovo je novi revolucionarni proizvod u području edukacije za izradu web stranica! Svi najbolji video tutorijali su sakupljeni na jednom mestu i podeljeni u kategorije: WordPress, Joomla, PHP, HTML, CSS i JavaScript... Baza podataka se stalno ažurira i sada u njoj ima više od 200 lekcija! Za samo godinu dana - možete postati iskusni webmaster "od nule"!

      Više

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

      Prije nego počnemo bilo kakve manipulacije s kodom, želim vas unaprijed upozoriti da ćemo uređivati ​​datoteke samog WordPress-a, a ne datoteke tema. Da, nekome može izgledati opasno, nekome besmisleno, nekome se jednostavno neće dopasti :) Ali ja sam to uradio baš tako i nisam imao nikakvih problema. Savjetujem vam da prije početka napravite sigurnosnu kopiju uređene datoteke.
      Upozorio sam vas na sigurnost, sada želim da pokažem rezultat do kojeg sam došao.


      Kao što vidimo, red „Vaš e-mail neće biti objavljen. Obavezna polja su označena *". Nema potrebe da posjetitelje smatrate idiotima bez mozga. Oni razumiju šta treba učiniti, a šta ne. Takođe sam sakrio nazive polja unutar samih polja. Šta su to debeli postovi? Većina posjetitelja već bez naziva polja može "na oko" odrediti koje kome pripada. Ali unutrašnji nagovještaji bi i dalje trebali biti prisutni. Pa, natpis polja za komentar je izgubio svoju nepotrebnu smjelost. Po mom mišljenju, postalo je mnogo bolje i slobodnije.

      Dakle, hajde da napravimo promjenu uskoro! ;)
      Idemo u fasciklu naše stranice i u njoj pronalazimo datoteku wp-includes/comment-template.php. Tražimo liniju 1522 u njoj, da, da, upravo to. Kako sam ga sam pronašao je cela priča, ispričaću vam malo kasnije :)
      Dakle, otvorite datoteku za uređivanje i idite na red 1522. Sada su ona i sljedeće (do 1529.) otprilike ovako:

      $fields = array("author" => "

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

      ", "e-pošta" => " ", "url" => "

      " . "

      ",);

      Kako je sve jednostavno i jasno. Dovoljno je samo izrezati sve suvišno i dodati malo. Parametar će biti dodat

      Placeholder="Tekst savjeta" !}

      Ova opcija vam omogućava da prikažete bilo koji tekst unutar polja. Koristimo ga za prikaz savjeta:

      "

      " "

      " "

      "

      Izbrišemo redove:

      "

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

      "

      Oni su odgovorni za prikazivanje natpisa iznad polja.
      Kao rezultat SVIH ovih manipulacija, dobijamo sljedeće:

      $fields = array("author" => "

      ", "e-pošta" => "

      ", "url" => "

      ",);

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

      "comment_notes_before" => "

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

      ",

      Čini se da je to sve, sada je naša forma postala malo privlačnija. Nadam se da su ove informacije nekome korisne :)

      Pretplatite se, komentirajte, bit će mi drago svakom adekvatnom komentaru. Možda ni ja nešto ne znam, a vi možete drugačije, podijelite svoje mišljenje.

      WordPress ima nekoliko vrsta sadržaja kao što su postovi, stranice, komentari. WordPress je vrlo fleksibilna platforma koja vam omogućava da prilagodite glavne vrste sadržaja tako da odgovaraju vašoj web stranici. Možete promijeniti izgled i osjećaj. U ovom vodiču ćemo vam pokazati kako promijeniti ponašanje i izgled komentara na WordPress stranici.

      Korak 1. Razumijevanje funkcije comment_form i njegovi argumenti

      Razmotrite funkciju WordPress comment_form. Odgovoran je za prikaz obrasca za komentar koji se prikazuje na stranici ili objavi. Poziv ove funkcije se uglavnom može naći u datoteci comments.php u folderu teme. Ova datoteka je uključena na raznim mjestima, na primjer, u fajlovima single.php I page.php, direktno ili putem poziva funkcije comments_template.

      Opis ove funkcije možete pronaći u WordPress kodeksu.

      Ako koristite funkciju comment_form za renderiranje obrasca, on će se prikazati korištenjem zadanih parametara i sadržavat će polja kao što su ime, email (oba polja su obavezna), web stranica i sadržaj komentara. U zadanoj temi Twenty Eleven, obrazac će izgledati ovako.

      Neki važni argumenti za funkciju comment_form:

      • polja - uz njegovu pomoć možete kontrolirati izlaz polja u obrascu za komentare.
      • comment_notes_before i comment_notes_after se koriste za prikaz informacija prije i poslije obrasca.
      • title_reply - koristi se za promjenu naslova odgovora, koji je zadano postavljen na 'Ostavi odgovor'.
      • label_submit - koristi se za promjenu teksta na dugmetu za slanje komentara.

      Korak 2. Prilagodite obrazac za komentar koristeći funkciju formular_komentara

      Sada prilagodimo formu za komentare prosljeđivanjem argumenata funkciji comment_form.

      U slučaju da trebamo prilagoditi polja u obrascu za komentare, trebamo proslijediti njihovu listu funkciji comment_form. Podrazumevano, funkcija koristi sljedeću listu polja:

      $fields = array("author" => "

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

      ", "e-pošta" => " ", "url" => "

      " . "

      ",);

      Ako trebamo ukloniti polje, recimo web stranicu, samo ga trebamo isključiti iz niza i proslijediti polje funkciji comment_form.

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

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

      ", "e-pošta" => " ",); $comments_args = array("fields" => $fields); comment_form($comments_args);

      Osim toga, promijenit ćemo naziv obrasca u 'Molimo da nam date svoj vrijedan komentar' i oznaku na gumbu u 'Pošalji moj komentar'.

      Da bismo dovršili zadatak, prosljeđujemo sljedeće argumente funkciji comment_form:

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

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

      ", "e-pošta" => " ",); $comments_args = array("fields" => $fields, "title_reply"=>"Molimo vas da nam date svoj vrijedan komentar", "label_submit" => "Pošalji moj komentar"); comment_form($comments_args);

      Obrazac za komentar će sada izgledati ovako:

      Korak 3 Uklanjanje polja iz obrasca pomoću kuke

      Također, WordPress formular za komentare može se modificirati pomoću kukica i filtera. Ovo podešavanje može biti posebno korisno kada radite s dodatkom kada trebate podesiti nekoliko elemenata, ali ne mijenjati datoteke teme. Filtrirajte za dodavanje ili uklanjanje polja obrasca - ' comment_form_default_fields '

      Uklonimo polje URL adrese koristeći filter. Gornji kod se može koristiti u dodatku ili u datoteci functions.php aktivna tema.

      Funkcija remove_comment_fields($fields) ( unset($fields["url"]); return $fields; ) add_filter("comment_form_default_fields","remove_comment_fields");

      Korak 4: Dodavanje podataka u obrazac za komentar pomoću kuke

      Možemo dodati polja u obrazac koristeći filter ' comment_form_default_fields '. Dodajmo polje starosti autora pomoću filtera i sačuvamo ovo polje sa dodatnim podacima i prikažimo ga u komentarima.

      Dodajte polje ovako:

      Funkcija add_comment_fields($fields) ( $fields["age"] = "

      " . "

      "; return $fields; ) add_filter("comment_form_default_fields","add_comment_fields");

      #respond .comment-form-author label, #respond .comment-form-email label, #respond .comment-form-url label, #respond .comment-form-age label, #respond .comment-form-comment label ( pozadina: #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: 12px,204,0.8; 0.8); boja: #555; prikaz: inline-block; veličina fonta: 13px; lijevo: 4px; minimalna širina: 60px; padding: 4px 10px; pozicija: relativna; vrh: 40px; z-indeks: 1; )

      Sada će naš formular za komentar izgledati ovako:

      Starost se sada pohranjuje kao dodatne informacije. Morate koristiti kuku u ' comment_post ':

      Funkcija 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);

      Kada se podaci sačuvaju, mogu se prikazati u komentaru ovako:

      comment_ID, "starost", istina); ?>

      Korak 5 Postavljanje komentara za određene vrste objava

      Ponekad želite koristiti polja u komentarima samo za određene vrste postova. Promijenimo šifru da prikaže polje starosti samo za knjigu tipa zapisa:

      Funkcija add_comment_fields($fields) ( if(is_singular("books")) ( $fields["age"] = "

      " . "

      "; ) return $fields; ) add_filter("comment_form_default_fields","add_comment_fields");

      Korak 6. Kreirajte povratnu funkciju za prikaz komentara

      Funkcija wp_list_comments se koristi za prikaz komentara u objavama. WordPress kodeks detaljno opisuje ovu funkciju.

      wp_list_comments ima argument ' callback ' koji se može koristiti za definiranje funkcije koja se poziva kada se prikaže komentar.

      U temi Twenty Eleven u fajlu comments.php možete pronaći liniju:

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

      Promijenimo to u:

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

      My_comments_callback funkcija će biti pozvana za svaki post.

      Korak 7 Oblikovanje komentara

      Sada ćemo malo promijeniti stil komentara. Jednostavno ćemo prikazati sadržaj objave i polje starosti koje smo ranije dodali. Također ćemo promijeniti boju pozadine za komentare.

      Kôd funkcije ' my_comments_callback ':

      Funkcija my_comments_callback($comment, $args, $depth) ( $GLOBALS["comment"] = $comment; ?>

    5. id="li-komentar-">

      comment_ID, "starost", istina); ?>

      __("Odgovori ↓", "twentyeleven"), "depth" => $depth, "max_depth" => $args["max_depth"]))); ?>
    6. Promijenite boju pozadine na sljedeći način:

      Lista komentara > li.comment (pozadina: #99ccff; granica: 3px solid #ddd; -moz-border-radius: 3px; border-radius: 3px; margina: 0 0 1.625em; padding: 1.625em; pozicija: relativna; )



  • Učitavanje...
    Top