Botvinya pievienot komentāru komentāra atbildi. Komentāru veidlapas precizēšana. Kā veidot koka komentārus

Ir pienācis laiks nopietni pievērsties WordPress komentāru stilam. Gandrīz visās tēmās tos konfigurē sistēmas faili, kas savukārt ierobežo atsevišķu funkciju rediģēšanu. Es domāju, ka daudzi cilvēki ir saskārušies ar to, kad viņiem bija nepieciešams veikt izmaiņas komentāros, taču viņi nevarēja atrast, kur tieši tas atrodas. Tāpēc labāk būtu visu funkcionalitāti pārnest uz pašreizējo tēmu, kas dos mums pilnīgu kontroles brīvību.

Šajā rakstā esmu apkopojis dažas interesantas funkcijas, kas palīdzēs uzlabot komentārus. Tomēr tie ļauj veikt dialogus gan ar vietnes administratoru, gan starp lietotājiem. Atbildi uz jautājumiem, sāc dažādas diskusijas, kopumā ievieš pilnvērtīgu virtuālo komunikāciju. Tāpēc ir nepieciešams pievērst tiem uzmanību un sakārtot tos pareizā formā.

Lūk, ko mēs darīsim:

  • Pilnīga pielāgošana
  • Izskata dizains
  • Komentāru numerācija
  • Ziņojumu skaitīšana vienam lietotājam
  • Piešķiriet statusu katram lietotājam
  • Un citi sīkumi

Mēs analizēsim katru punktu atsevišķi, un raksta beigās visas funkcijas tiks pilnībā apkopotas vienā gatavā kodā.

Komentāru pielāgošana

Programmā WordPress komentāri tiek parādīti, izmantojot funkciju wp_list_comments, parasti failā comments.php. Un atsevišķu funkciju veidošana, kā arī pats cikls tiek izmantots no sistēmas faila veidnes comment-template.php. Bet retos gadījumos gadās, ka iestatījums var atrasties WordPress motīvā, functions.php vai comments.php failā.

Tātad, ja jūsu tēma neietilpst retos gadījumos un jums ir jāveic paši iestatījumi, atveriet failu functions.php un pirms zīmes ?> pievienojiet šādu kodu:

If (! function_exists("mans_komentārs")) : funkcija mani_komentāri($komentārs, $args, $dziļums) ( globālais $komentāra numurs; $GLOBALS["komentārs"] = $komentārs; slēdzis ($komentārs->komentāra_veids) : case " pingback" : case "trackback" : ?>

  • ", ""); ?>
  • id="li-comment-">
    komentārs_vecāks) $avatara_izmērs = 39; echo get_avatar($komentārs, $avatara_izmērs); /* tulkotāji: 1: komentāra autors, 2: datums un laiks */ 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"), /* tulkotāji: 1: datums, 2: laiks */ sprintf(__("%1$s %2$s", " my_press"), get_comment_date(), get_comment_time()))); ?>
    comment_approved == "0") : ?>
    __("Atbildēt", "mana_prese"), "dziļums" => $dziļums, "maksimālais_dziļums" => $args["maksimālais_dziļums"]))); ?>
    ", ""); ?>

    Pēc tam failā comments.php pievienojiet izsaukšanas funkciju:

      "mani_komentāri")); $komentāra numurs = 0; ?>

    Pēc šīm manipulācijām jūsu komentāri tiks ģenerēti, izmantojot veidnes funkciju no pašreizējās tēmas faila functions.php.

    Komentāru skaitīšana katram lietotājam

    Izmantojot zemāk parādīto funkciju, mēs varam parādīt kopējo ziņojumu skaitu, kas ir atstāti blakus komentētājam. Tādējādi jūs varat novērot, cik aktīvs ir lietotājs, un turklāt statistika nekad nav lieka, it īpaši šajā sakarā.

    Atveram mums jau pazīstamo functions.php failu un beigās pirms zīmes ?> pievienojam šādu kodu:

    //lietotāja ziņojumu skaitīšanas funkcija bac_comment_count_per_user() ( globāls $wpdb; $comment_count = $wpdb->get_var("SELECT COUNT(comment_ID) FROM ". $wpdb->comments." WHERE comment_author_email = "" . get_comment_author)_." " AND comment_approved = "1" AND comment_type NOT IN ("pingback", "trackback")"); if ($comment_count == 1) ( echo " 1 Message"; ) else ( echo " " . $comment_count . " Ziņojumi ";))

    Tagad atliek tikai pievienot zvanīšanas funkciju vajadzīgajai vietai:

    Ziņojumi tiks skaitīti, pamatojoties uz lietotāja e-pastu neatkarīgi no tā, vai tas ir reģistrēts vai ne. Tiek ņemti vērā tikai vietnes administratora apstiprinātie komentāri, bet gaidīšanas režīmā esošie un izdzēstie netiek ņemti vērā.

    Katram lietotājam piešķiram statusu atkarībā no komentāru skaita

    Tieši šajā gadījumā statistikai noteikti ir svarīga loma. Tā kā funkcija ir veidota, pamatojoties uz ziņojumu skaitu, un iegūtais skaitlis piešķir lietotājam pareizu statusu. Teorētiski tas tiek izmantots katrā forumā, lai parādītu lietotāja autoritāti noteiktā resursā.

    Atkal atveriet failu functions.php un pirms zīmes ?> pievienojiet šādu kodu:

    //lietotāja statusa funkcija get_author_class($comment_author_email,$user_id)(globāls $wpdb; $adminEmail = get_option("admin_email"); $author_count = count($wpdb->get_results("SELECT comment_ID as author_count FROM $AdminUpdseR "; if($author_count>=1 && $author_count<50 && $comment_author_email !==$adminEmail) echo "Прохожий"; else if($author_count>=50 && $ autoru_skaits<100 && $comment_author_email !==$adminEmail) echo "Новичок"; else if($author_count>=100 && $ autoru_skaits<250 && $comment_author_email !==$adminEmail) echo "Знающий"; else if($author_count>=250 && $ autoru_skaits<400 && $comment_author_email !==$adminEmail) echo "Опытный"; else if($author_count>=400 &&$autoru_skaits<800 && $comment_author_email !==$adminEmail) echo "Бывалый"; else if($author_count>=800 && $ autoru_skaits<1200 && $comment_author_email !==$adminEmail) echo "СуперПупер"; else if($author_count>Profesors";)

    Un vēlamajā vietā mēs parādām zvanīšanas funkciju:

    comment_author_email,$comment->user_id)?>

    Paskaidrojums:šī funkcija, tāpat kā iepriekšējā, ir saistīta ar lietotāja e-pastu. Tikai šeit galvenais uzdevums nav tikai ziņojumu skaitīšana, bet gan skaits no un uz atkarībā no iestatītā numura. Un, kad lietotājs to sasniedz, viņš iegūst noteiktu pozīciju. Kopā ir 7 statusi, kā arī administrators un zīmotnes reģistrētajiem dalībniekiem.

    Pilnīgi pabeigts komentāra kods

    Šeit mēs nonākam līdz šī raksta beigām. Šeit es nebiju slinks, apkopojot visas funkcijas, ieskaitot komentāru iestatīšanu, vienā gatavā kodā. Es pievienoju savus stila stilus, un rezultāts bija kaut kas līdzīgs mini forumam.

    Atveriet failu functions.php un beigās pirms zīmes ?> pievienojiet šādu kodu:

    //lietotāja ziņojumu skaitīšanas funkcija bac_comment_count_per_user() ( globāls $wpdb; $comment_count = $wpdb->get_var("SELECT COUNT(comment_ID) FROM ". $wpdb->comments." WHERE comment_author_email = "" . get_comment_author)_." " AND comment_approved = "1" AND comment_type NOT IN ("pingback", "trackback")"); if ($comment_count == 1) ( echo " 1 Message"; ) else ( echo " " . $comment_count . " Ziņojumi "; ) ) //lietotāja statusa funkcija 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 wpdb->comments WHERE comment_author_email = "$comment_author_email" ")); if($comment_author_email ==$adminEmail) echo "Admin"; if($user_id!=0 && $comment_author_email !=$adminEmail) ($author_count>=1 && $author_count<50 && $comment_author_email !==$adminEmail) echo "Прохожий"; else if($author_count>=50 && $ autoru_skaits<100 && $comment_author_email !==$adminEmail) echo "Новичок"; else if($author_count>=100 && $ autoru_skaits<250 && $comment_author_email !==$adminEmail) echo "Знающий"; else if($author_count>=250 && $ autoru_skaits<400 && $comment_author_email !==$adminEmail) echo "Опытный"; else if($author_count>=400 &&$autoru_skaits<800 && $comment_author_email !==$adminEmail) echo "Бывалый"; else if($author_count>=800 && $ autoru_skaits<1200 && $comment_author_email !==$adminEmail) echo "СуперПупер"; else if($author_count>=1200 && $comment_author_email !==$adminEmail) echo "Profesors"; ) //pielāgot komentārus if (! function_exists("mazais_komentārs")) : funkcija vārdimazais_komentārs($komentārs, $args, $dziļums) ( globālais $komentāra numurs; $GLOBALS["komentārs"] = $komentārs; slēdzis ($komentārs- > comment_type) : case "pingback" : case "trackback" : ?>

  • id="li-comment-">
    %s", get_comment_author_link()); ?> komentārs_vecāks)($komentārs_parent_href = htmlspecialchars(get_comment_link($comment->comment_parent)); $comment_parent = get_comment($comment->comment_parent); ?> @Atbildēt par:komentāra_autors;?>
    komentārs_vecāks) $avatara_izmērs = 60; echo get_avatar($komentārs, $avatara_izmērs); ?> comment_author_email,$comment->user_id)?>
    comment_approved == "0") : ?>
    ", ""); ?> __("Atbildēt", "siena nospiešana"), "dziļums" => $dziļums, "maksimālais_dziļums" => $args["maksimālais_dziļums"]))); ?>

    Tagad atveriet failu comments.php, atrodiet tajā funkciju komentāru izsaukšanai. Tas izskatās apmēram šādi:

    Mainīt uz šo:

      "vārdu_mazs_komentārs")); ?>

    Pēdējais solis. Atveriet failu style.css un beigās pievienojiet šādus stilus:

    Mans_komentāru saraksts( border-top:none; ) .my_commentlist .comment( polsterējums:0 0 15px 0; border:none; ) .my_commentlist .pingback( polsterējums:0 0 15px 0; border:none; ) .my_commentlist .comment (.children list-style-type: nav; polsterējums:0px; margin-left:0px;/*ja nepieciešama atkāpe koka formas kastēm, ievietojiet 15px*/ ) .my_commentlist .comment .childs .comment( margin:15px 0 0 0 ; apmale: nav; polsterējums: 0; ) #comments ( fons: #fff; ) #comments .my_commentlist ( piemale: 10px 0; polsterējums: 0; saraksta stils: nav; fons: #ebf0f3; polsterējums: 5px; ) # komentāri .my_commentlist .comment ( margin:0; polsterējums: 0 0 10px; fons: #fff; ) #comments .my_commentlist .my_comment-author ( displejs: iekļauts; apmale pa labi: 1px ciets #e0e0e0; platums: 100px; pludiņš: pa kreisi; piemale : 0px 15px 10px 0; ) #comments .my_commentlist .commentmetadata ( float:left; ) #comments .my_commentlist p ( skaidrs:nav; krāsa: #555; fonts: 14px arial; līnijas augstums: 23px; ) komentāri .my_commentlist .comment-content ( margin-left: 116px; polsterējums pa labi: 10 pikseļi; ) #comments .my_commentlist .reply ( text-align:right; ) #comments .my_commentlist .reply a( fons: #f5f5f5; apmale: 1px solid rgba(0, 0, 0, 0.06); apmales rādiuss: 2px; krāsa : #515456; displejs: iekļauts bloks; fonta izmērs: 13 pikseļi; fonta svars: normāls; līnijas augstums: 30 pikseļi; malas augstums: 15 pikseļi; minimālais augstums: 30 pikseļi; polsterējums: 0 12 pikseļi; teksta līdzināšana: centrā ; teksta noformējums: nav; ) .my_commentlist .avatar( apmale: vidējs nav; apmales rādiuss: 50%; peldēšana: nav; piemale: 5 pikseļi automātiski; polsterējums: 0 pikseļi; displejs: tabula; ) .my_commentlist .comment-header( augstums: 30 pikseļi; fons: #DEE5EB; mala-apakšā: 15 pikseļi; ) .my_commentlist cite.fn( krāsa: #444; fonts: trekns 13px/30px arial; polsterējums-pa kreisi: 10px; ) .my_commentlist .com_date ( krāsa: # 8ca0b5; fonts: parasts 13px/30px arial; float: right; padding-right: 15px; ) .my_commentlist .commentnumber ( krāsa: #8ca0b5; peldēšana: pa labi; fonts: slīpraksts 13px/30px arial; padding-right: 15px; ) .my_commentlist .comment-body ( pārpilde: paslēpta; pozīcija: relatīvā; fons:#fff; ) .my_commentlist .rep-authorcom ( color: #25394e; font-size: 13px; line-height: 30px; ) .my_commentlist .edit-link a ( fons: nav !svarīgi; apmale: nav !svarīgi; apmales rādiuss: 0 svarīgi; krāsa: #999! svarīgi; displejs: iekļauts bloks; fonta lielums: 11 pikseļi !svarīgi; fonta svars: normāls; līnijas augstums: 30 pikseļi; malas labā puse: 5 pikseļi !svarīgi; minimālais augstums: 30 pikseļi ; polsterējums: 0 !svarīgi; teksta līdzinājums: centrā; teksta noformējums: nav; ) .com_per ( apmale: vidēja nav; krāsa: #666; displejs: bloks; fonta izmērs: 11 pikseļi; teksta līdzināšana: centrā; ) .vip1,.vip, .vp, .vip2, .vip3, .vip4, .vip5, .vip6, .vip7 (mala: vidēja nav; fonts: trekns 13 pikseļu arial; displejs: bloks; teksta līdzinājums: centrā; mala- apakšā: 5px; teksta noformējums: nav; ) .vp (krāsa: #e82e24;).vip1 (krāsa: #348be8;).vip2 (krāsa: #BE005E;).vip3 (krāsa: #2e517e;).vip4 ( krāsa: #658a18;).vip5 (krāsa: #00A56D;).vip6 (krāsa: #e35d28;).vip7 (krāsa: #99A400;).vip (krāsa: #4c5176;fonta izmērs: 11px;margin: 0 ;)

    Kods darbojas pilnībā un neizraisa kļūdas, taču var būt nepieciešamas nelielas izmaiņas CSS stilos.

    Šis nosaukums daudzus netraucē, bet reizēm rodas jautājums, kā mainīt pievienot komentāru, lai atstātu atsauksmi vai tamlīdzīgi. Šajā gadījumā šis raksts jums palīdzēs. Kā jau rakstīju iepriekš, es jums parādīšu pāris veidus.

    Metode Nr.1

    Pirmajai metodei ir jāatrod fails mapē ar motīvu, kas ir instalēts jūsu vietnē komentāri.php. Ja tāds ir, atveriet to un meklējiet tajā masīvu, kas ir atbildīgs par komentāru veidlapas satura iestatīšanu un attēlošanu. Tas izskatās apmēram šādi:

    $args = array("comment_notes_before" => "

    ", "comment_field" => "

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

    Tātad šim masīvam ir jāpievieno jauns parametrs ar vēlamo vērtību, un tas arī viss. Mūsu gadījumā tas ir:

    "title_reply" => "Atstāt savu atsauksmi",

    Kā jūs saprotat - Atstājiet savu atsauksmi, šis ir jaunais nosaukums, nevis - Pievienot komentāru. Jūs varat pievienot šādu parametru masīva beigās vai sākumā. Izrādīsies kaut kas līdzīgs šim:

    $args = array("title_reply" => "Atstāt savu atsauksmi", "comment_notes_before" => "

    Aizpildiet zemāk esošos laukus. Jūsu e-pasts netiks publicēts. Obligātie lauki ir atzīmēti *

    ", "comment_field" => "

    ", "id_submit" => "comm_subm", "label_submit" => "Iesniegt",); comment_form($args);

    Pievienots sākumam un tagad, ziņu lapās tiks parādīta rinda - Atstājiet savu atsauksmi. Šī metode nav sarežģīta un prasa minimālu piepūli, galvenais ir pareizi definēt masīvu. Bet dažreiz gadās, ka motīvā nav faila comments.php vai tajā nav masīva un jūs nezināt, kā to pareizi pievienot, tad jums palīdzēs otrā metode.

    Metode Nr.2

    Otrās metodes būtība ir pievienot jaunu funkciju, kas aizstās nosaukumu. Lai to izdarītu, mapē ar aktīvo motīvu ir jāatrod fails function.php ar pielāgotām funkcijām un ērtā vietā, ja jūs to nezināt, tad pašā beigās pirms aizverošā PHP taga - ?> , ja tāda nav, tad pašās beigās pievienojiet šādu kodu:

    Funkcija wph_change_submit_label($defaults) ( $defaults["title_reply"] = "Atstāt savu atsauksmi"; atgriezt $defaults; ) add_filter("comment_form_defaults", "wph_change_submit_label");

    Bonuss

    Tas būtībā ir tāds pats kā pirmajā metodē, vienkārši mēs to ievietojām tieši masīvā un šeit caur filtru. Pēc šīm darbībām jūs redzēsit izmaiņas nosaukumā. Tāpat kā pirmajā metodē, varat mainīt tekstu - atstājiet savu atsauksmi uz to, kas jums patīk. Šis teksts ir sniegts kā piemērs.

    Es arī gribu ieteikt un pievērst uzmanību vārda Komentāri deklinācijai. Ja jūsu veidlapā ir redzama rinda - 1 komentārs publicēts vai Komentāri: 10. Varat izmantot funkciju no raksta. Ja jūs to jau izmantojat, iesaku rindā ar masīvu:

    Masīvs("komentārs","komentārs","komentāri")

    Mainiet nosaukumus pārskatīt, pārskatīt, atsauksmes, ja izmantojāt šo vārdu iepriekš minētajās metodēs. tādā veidā tev viss būs vienādi, nevis izkaisīti, ir atsauksmes un ir komentāri.

    Šī ir informācija, kuru es vēlējos jums šodien sniegt. Varbūt kādam noderēs.

    Tas arī viss, paldies par uzmanību. 🙂

    Nesen es iedziļinājos savas WordPress tēmas failos, proti, komentāru parādīšanas veidnes noteikumos, vienlaikus izprotot tās struktūru un dažādas funkcijas, kas ir atbildīgas par komentāru rādīšanu emuāra ierakstos. Rezultātā es mainīju standarta izvadi, izveidoju un iekļāvu savu comments.php failu. Iegūto rezultātu nolēmu prezentēt raksta veidā, jo labi sapratu šo tēmu un materiāla bija diezgan daudz.

    Ceru, ka raksts būs noderīgs WordPress emuāru īpašniekiem, kuri pārzina HTML, CSS un PHP.

    ***

    Lai WordPress pievienotu komentāru veidni ar ziņu vai lapu, izmantojiet funkciju comments_template(), kurai ir nepieciešami divi parametri:

    • pirmais ir ceļš uz veidnes failu, pēc noklusējuma tas ir comments.php mapē ar pašreizējo motīvu
    • otro izmanto, lai atdalītu komentārus pēc veida (parasti, trackbacks un pingbacks), pēc noklusējuma false

    Ievietosim comments_template() pēc tam, kad ieraksts ir parādīts ziņas veidnē single.php vai lapas lapa.php .

    Funkcijas comments_template() un citu rakstā minēto aprakstu un pieņemtos argumentus meklējiet WordPress kodeksā.

    Veidnes sagatavošana

    Mēģināsim izprast WP komentāru veidnes un izveidot savu failu komentāru parādīšanai emuāra ierakstos un lapās. Kā atsauces piemērus varat ņemt veidnes no standarta WordPress motīviem. Izveidosim jaunu dokumentu jebkurā teksta redaktorā, nosauksim to par comments.php un sāksim rediģēt.

    • Principā jūs varat nosaukt failu kā vēlaties, un pēc tam ierakstiet ceļu uz šo failu komentāros_template(), taču labāk ir pieturēties pie standarta nosaukuma
    • Starp citu, failu var rediģēt arī WP administratora panelī.
    • Vislabāk, protams, ir uzrakstīt kodu un nekavējoties pārbaudīt tā ietekmi savā emuārā vai vietējā serverī.

    WordPress ir iespējams atspējot komentārus atsevišķām ziņām, tāpēc pirms to parādīšanas ir jāpārbauda, ​​vai tie nav atvērti:

    Šis ir iesaiņojuma kods mūsu turpmākajām darbībām. Tagad sagatavosim konteineru komentāru blokam

    ar semantiski pareizu klasi vai identifikatoru (klase, protams, ir vēlama):

    Iekšā

    uzrakstīsim virsrakstu, lai tavi lasītāji saprot, ka šeit ir komentāri un nekas cits, tag

    Tas būs tieši piemērots šim:

    "

    Šeit esam norādījuši vienu no WordPress funkcijām - the_title(), šīs funkcijas izpildes rezultāts būs pašreizējā ieraksta vai lapas nosaukuma izvade. Ja nevēlaties parādīt nosaukumu, varat vienkārši ierakstīt “Lasītāju komentāri”.

    Tālāk pirms komentāru parādīšanas ir jāpārliecinās, vai tie eksistē, t.i. pārbaudiet, ja ir, parādiet pilnu sarakstu, ja nē, tad varat parādīt lietotājam kaut ko līdzīgu "". Tādā veidā tava ieraksta/lapas apmeklētājam būs skaidrs, ka neviens vēl neko nav uzrakstījis, un motivējošā frāze “Tu vari būt pirmais” palielinās varbūtību, ka viņi tev kaut ko uzrakstīs ātrāk.

    Tātad pēc šīs problēmas formulēšanas kļūst skaidrs, ka ieviešanai mums būs nepieciešamas if/else konstrukcijas un funkcija komentāru skaita attēlošanai get_comments_number() . Ja funkcija atgriež 0 (nulle), tiek parādīts "Vēl nav komentāru...", pretējā gadījumā "Lasītāju komentāri...":

    Komentāru vēl nav, bet varat būt pirmais

    Lasītāju komentāri par rakstu ""

    Diskusijas par šo lapu ir slēgtas

    Komentāru izdalīšana

    Lieliski, mēs esam parādījuši virsrakstus atkarībā no komentāru esamības vai neesamības, tagad ir loģiski parādīt pašus komentārus - par to ir atbildīga funkcija wp_list_comments(). Noklusējuma funkcija visus komentārus iesaiņo tagos

  • , tāpēc jāpievieno iesaiņojums
      ar klases uzdevumu.komentāru saraksts:

      wp_list_comments() izmanto argumentu masīvu, ko var izmantot, lai elastīgi pielāgotu komentāru parādīšanu. Piemēram, varat mainīt iemiesojuma izmēru, komentāru atbildes tekstu un citus iestatījumus, nosūtot atslēgvārdu un vērtību:

      $args = array("avatar_size" => 64, // iemiesojuma izmērs 64*64px, noklusējuma 32 "reply_text" => "Atbildēt" // atbildes teksts uz komentāru "callback" => "my_comments" // funkcija ārēja veida komentāru ģenerēšanai)

      Īpaša uzmanība ir jāpievērš atzvanīšanas parametram, kas komentāra parādīšanai izmanto pielāgotas funkcijas nosaukuma vērtību. Ar tās palīdzību jūs varat elastīgi pielāgot katra komentāra izskatu. Šādi izskatās standarta izvades funkcija no faila comment-template.php:

    1. id="li-comment-">
      "); ?> %s saka:"), get_comment_author_link()) ?>
      comment_approved == "0") : ?>
      $dziļums, "maksimālais_dziļums" => $args["max_depth"]))) ?>

      Vienkāršākais veids ir izmantot šo funkciju un rediģēt to sev un pēc tam izsaukt to kā pielāgotu, ierakstot to komentāri.php vai functions.php failā.

      Pēc komentāru saraksta parādīšanas varat mainīt to izskatu, izmantojot CSS stilus. Daži wp_list_comments() parametri tiek dublēti WP admin, Opcijas → Diskusija cilnē, jo īpaši koka komentāru klātbūtne, kārtošana pēc datuma utt.

      Komentāru iesniegšanas forma

      Lai pievienotu komentāru veidlapu, izmantojiet funkciju comment_form(). Pievienosim to komentāru sarakstam:

      Komentāru vēl nav, bet varat būt pirmais

      Lasītāju komentāri par rakstu ""

      1. 64, "reply_text" => "Atbildēt", "atzvanīt" => "mani_komentāri"); wp_list_comments($args); ?>

      Diskusijas par šo lapu ir slēgtas

      Šādi izsaucot, comment_form() ielādēs standarta kodu no WordPress faila comment-template.php. Funkcijai ir nepieciešami divi parametri:

      komentāra_veidlapa($args, $post_id);

      • $args — veidlapas izvades iestatījumu masīvs
      • $post_id — tās ziņas ID, kurai tiks lietota funkcija, pēc noklusējuma pašreizējā ziņa

      Piemēram, apstiprināsim veidlapu laukus HTML5 un pievienosim teksta padomus. Izveidosim masīvu $args, lai ievadītu nepieciešamos iestatījumus:

      $args = masīvs(); comment_form($args);

      Masīvā jāreģistrē iestatījumu atslēgas:

      $args = masīvs("lauki" => pieteikties_filtri("komenta_veidlapas_noklusējuma_lauki", $lauki));

      Tagad mums ir jāaizpilda masīva mainīgais $fields, kas ietver veidlapas laukus. Vienkāršākais veids ir paņemt standarta WordPress kodu no comment-template.php un nedaudz to mainīt:

      "

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

      ", "e-pasts" => " ", "url" => "

      " . "

      "); $args = array("lauki" => pielietot_filtri("komenta_veidlapas_default_lauki", $lauki)); comment_form($args); ?>

      Šeit autora , e-pasta un url parametru vērtības ir attiecīgi lauku “Vārds”, “Pasts” un “Vietne” html kods. Šīs vērtības ir jārediģē.

      Laukiem mums jāpievieno šādi atribūti:

      • obligāti - padara laukus aizpildāmus obligāti, pievienojiet to laukiem “Nosaukums” un “Vietne”.
      • vietturis — pievieno laukam teksta rīka padomu
      • pattern="(3,)" laukam "Vārds" - norādiet nosaukumu ar latīņu vai krievu alfabēta burtiem un vismaz 3 rakstzīmju garumu
      • type="email" laukam "Pasts" — tiks pievienota HTML5 e-pasta validācija
      • automātiskā pabeigšana — iespējo automātisko pabeigšanu laukiem
      • type="url" laukam "Vietne".

      Atcerieties, ka jaunie HTML5 atribūti nedarbosies vecākās pārlūkprogrammās. Tās pārlūkprogrammas, kuras neizprot jaunos lauku tipus, tos vienkārši attēlos kā tekstu, t.i. .

      Turklāt savam emuāram es šur tur apmainīju tagus, pievienoju stila klases, un rezultātā es ieguvu šādu kodu $fields masīvam:

      "

      ", "e-pasts" => " ", "url" => "

      "); ?>

      Esam mainījuši datu ievades laukus. Tagad rediģēsim pašu komentāru veidlapu

      " ?>

      Šis ir standarta WordPress kods, es to tikai nedaudz pārveidoju - pievienoju teksta mājienu un uzrakstīju papildu klasi stilizēšanai.

      Lūk, ko es beidzu, izmantojot CSS stilu:

      WordPress komentāru veidlapa, izmantojot HTML5 atribūtus

      Apakšējā līnija

      Visbeidzot, es publicēšu savus komentārus.php kodu:

      raksta lasītāji""

      • Atstāj pirmo komentāru - autors mēģināja
      1. id="li-comment-">
        "); ?> %s raksta:"), get_comment_author_link()) ?>
        comment_approved == "0") : ?>
        $dziļums, "maksimālais_dziļums" => $args["max_depth"]))) ?>
        "Atbildēt", "atzvanīt" => "verstaka_comment"); wp_list_comments($args); ?>
      "

      ", "e-pasts" => " ", "url" => "

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

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

      Diskusijas par šo lapu ir slēgtas

      FAQ par komentāriem

      Kā izcelt autoru un lietotāju komentārus?

      Dažreiz ir ļoti ērti iestatīt atsevišķu izskatu autora komentāriem, tam ir pat īpaši spraudņi. Tomēr jūs varat iztikt bez spraudņiem — vienkārši ierakstot stilus klasei .bypostauthor css failā. Līdzīgi varat iestatīt stilus lietotāju komentāriem — .bypostuser:

      Kā veidot koka komentārus?

      Lai iespējotu koka komentārus, jums jāiet uz WP administratoru, Iestatījumi → Diskusija → Atļaut koka komentārus. Tagad bērnu komentāriem būs koka struktūra, tiem var piešķirt individuālus stilus, piemēram, atkāpes. Viss, kas jums jādara, ir jāiestata noteikumi CSS sarakstam ar class.childs:

      Komentāru saraksts .bērni ( polsterējums: 0 0 0 40 pikseļi; /* kreisais polsterējums bērnu komentāriem */ )

      Pāra un nepāra komentāru stili

      WordPress pēc noklusējuma nepāra komentāriem piešķir .even klasi, bet pat komentāriem - .odd klasi. Izmantojot šīs klases, ir viegli iestatīt savus stilus:

      Komentāru saraksts .even ( /* stili nepāra komentāriem */ ) .commentlist .odd ( /* stili pāra komentāriem */ )

      Kā aizvērt komentārus atsevišķā ziņā?

      Tas ir ļoti vienkārši — dodieties uz ziņas rakstīšanas lapu, Ekrāna iestatījumi → Diskusijas, zem ziņas lauka parādās diskusiju bloks, noņemiet atzīmi no vienuma Atļaut komentārus.

      • Veidojot savu komentāru veidni, varat izmantot comments.php failus no standarta un citiem maksas un bezmaksas WordPress motīviem
      • Alternatīva standarta komentāriem ir trešo pušu komentāru veidlapu spraudņi, piemēram, populārais DISQUS
      • Pilnīgi iespējams rediģēt kodu tieši pašā failā comment-template.php, tomēr, ja WordPress tiks atjaunināts, viss kods tiks pārrakstīts - būs jārediģē vēlreiz
      • Atcerieties, ka nav ideālas komentāru veidnes.

      Palīdziet projektam

      65 balsis, vidēji: 4,46 no 5)

      Ir pagājis laiks, kopš es neko rakstīju par WordPress. Tāpēc šodien es dalīšos ar jums, kā jūs varat manuāli mainīt komentāru veidlapu WordPress. Domāju, ka šīs zināšanas var noderēt ikvienam iesācējam blogerim, jo ​​komentēšanas forma dažkārt ir vienīgais saziņas līdzeklis starp apmeklētājiem un autoru. Neejiet garām :)

      Pirms sākam jebkādas manipulācijas ar kodu, vēlos jūs jau iepriekš brīdināt, ka mēs rediģēsim paša WordPress failus, nevis motīvu failus. Jā, kādam tas var šķist bīstami, citam bezjēdzīgi un citiem vienkārši nepatiks :) Bet es to izdarīju tieši tā un man nebija nekādu problēmu. Es iesaku pirms rediģētā faila dublējumkopiju izveidot.
      Brīdināju par drošību, tagad gribu parādīt rezultātu, pie kura nonācu.


      Kā redzam, rinda “Jūsu e-pasts netiks publicēts” ir noņemta. Obligātie lauki ir atzīmēti ar *". Nevajag uzskatīt apmeklētājus par bezsmadzeņu idiotiem. Viņi jau saprot, kas ir jāaizpilda un kas nē. Lauku nosaukumus paslēpu arī pašos laukos. Kam domātas šīs treknās piezīmes? Lielākā daļa apmeklētāju pat bez lauku nosaukumiem var “ar aci” noteikt, kurš kuram pieder. Bet iekšējiem mājieniem joprojām ir jābūt. Nu, komentāra lauka paraksts ir zaudējis savu nevajadzīgo drosmi. Manuprāt, tas ir kļuvis daudz labāks un brīvāks.

      Tāpēc mainīsim visu ātri! ;)
      Mēs ejam uz mūsu vietnes mapi un atrodam tajā failu wp-includes/comment-template.php. Mēs tajā meklējam 1522. līniju, jā, tas arī viss. Tas, kā es pats to atradu, ir vesels stāsts, par to pastāstīšu nedaudz vēlāk :)
      Tātad, atveriet failu rediģēšanai un dodieties uz 1522. rindu. Tagad tas un turpmākie (līdz 1529) ir aptuveni šādi:

      $fields = array("autors" => "

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

      ", "e-pasts" => " ", "url" => "

      " . "

      ",);

      Cik viss ir vienkārši un skaidri. Pietiek tikai izgriezt visu lieko un nedaudz pievienot. Parametrs tiks pievienots

      Placeholder="Palīdzības teksts" !}

      Šī opcija ļauj parādīt jebkuru tekstu laukos. Mēs to izmantojam, lai parādītu padomus:

      "

      " "

      " "

      "

      Mēs izdzēsīsim rindas:

      "

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

      "

      Viņi ir atbildīgi par parakstu rādīšanu virs laukiem.
      VISU šo manipulāciju rezultātā mēs iegūstam sekojošo:

      $fields = array("autors" => "

      ", "e-pasts" => "

      ", "url" => "

      ",);

      Atliek vien noņemt stulbo mājienu “Jūsu e-pasts netiks publicēts. Obligātie lauki ir atzīmēti ar *". Lai to izdarītu, izdzēsiet rindu (aptuveni 1537):

      "comment_notes_before" => "

      " . __("Jūsu e-pasta adrese netiks publicēta.") . ($req ? $required_text: "") . "

      ",

      Šķiet, ka tas arī viss, tagad mūsu forma ir kļuvusi nedaudz pievilcīgāka. Ceru, ka šī informācija kādam noderēs :)

      Abonējiet, komentējiet, es priecāšos saņemt atbilstošus komentārus. Varbūt es pats kaut ko nezinu un var darīt savādāk, dalieties savās domās.

      Sveiki!

      Šodienas raksts ir veltīts WordPress komentāru izvade. Mēs apskatīsim, kuri faili un funkcijas satur kodu, kas atbild par komentāru rādīšanu. Kas jādara, lai varētu veikt izmaiņas šajā WordPress emuāra blokā.

      Ļaujiet man sākt ar faktu, ka katrai WordPress veidnei (motīvam) ir fails komentāri.php Pilns ceļš uz to no saknes direktorija ir: /wp-content/themes/template_folder/comments.php

      Tieši tā komentāri.php parasti ir atbildīgs par komentāru bloku noteiktā WordPress motīvā.

      Kas visbiežāk ir ietverts komentāros.php:

      - pārbaudiet komentāru aizsardzību ar paroli

      – pārbaudot, vai rakstam ir atļauti komentāri

      – komentāru pārbaude un atbilstošā teksta parādīšana (“Nav komentāru...” vai “Atlikuši N komentāri”)

      komentāra izvades funkcijas izsaukšana - wp_list_comments()

      – navigācijas (peidžeru) izvade, ievietojot komentārus vairākās lapās

      – veidlapas parādīšana komentāru rakstīšanai par rakstu

      Šeit ir skaidrs, ka varat definēt savas klases vai mainīt rekvizītus stils.css jau esošām klasēm. Tādējādi jūs varat mainīt veidlapas izskatu komentāru un tekstu ievietošanai pirms komentāru saraksta un pēc šī saraksta vai veidlapas. Bet Pašu komentāru izvades stilus nevar mainīt vietnē comments.php.

      Kad es uzskaitīju faila saturu komentāri.php, tad viņš īpaši uzsvēra, ka in komentāri.php ir tikai komentāru parādīšanas funkcijas izsaukums wp_list_comments(), bet ne pats secinājums. Tie. V komentāri.php jūs neatradīsiet (vismaz jaunākajās WordPress versijās un ar pareizo pieeju veidņu izstrādei): ziņojuma autora vārda un saites uz viņa vietni attēlošanu, autora iemiesojuma attēlošanu, datuma un laika parādīšanu. komentārs, pats komentārs un saite "atbildēt".

      Kā mainīt stilus komentāru sarakstā?

      Pirmkārt, jums ir jānoskaidro, vai jūsu veidnē komentāru parādīšanai tiek izmantota pielāgota funkcija.

      Funkciju wp_list_comments() var izsaukt bez atzvanīšanas (atzvanīšana ir atzvanīšanas funkcija) un ar atzvanīšanu.

      1. Zvaniet uz wp_list_comments bez atzvanīšanas:

      Tie. funkcijas parametros (kas ir iekavās aiz nosaukuma) nav parametra ar nosaukumu ‘atzvanīšana’.

      Ja iekšā komentārs.php jūsu veidne ir šāda situācija tas nozīmē, ka šai tēmai nav savas (lietotāja) funkcijas komentāru parādīšanai un šim nolūkam tiek izmantota standarta veidne (veidne no WordPress kodola). Tas atrodas failā. Un kopš tā laika Šajā gadījumā mēs nevarēsim mainīt komentāru parādīšanas stilus, kamēr nepāriesim pie otrās opcijas.

      2. Zvaniet uz wp_list_comments ar atzvanīšanu:

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

      callback=custom_comment norāda uz to komentāru parādīšanai mums ir pielāgota funkcija custom_comment , kura kodu, rupji sakot, nododam kā parametru izpildei standarta funkcijai wp_list_comments. Bet mūs vairs neinteresē šī jautājuma tehniskā puse, bet gan savas funkcijas klātbūtne komentāru rādīšanai veidnē. Šīs funkcijas kods atrodas .

      Tieši šajā pielāgotajā funkcijā custom_comment un kods, kas atbild par atsevišķa komentāra un līdz ar to arī visu komentāru parādīšanos kopumā, atrodas.

      Pielāgotais funkcijas kods ir intuitīvs. Tas parasti izmanto šādas standarta WordPress funkcijas:

      get_comment_author_link()– saņem html saiti uz aktuālā komentāra autora mājaslapu;

      get_comment_date()– iegūst komentāra datumu;

      get_comment_time()– saņem komentēšanas laiku;

      komentārs_teksts()– parāda komentāra tekstu;

      Kodā varat atrast fragmentus ar šīm funkcijām un mainīt noteiktu elementu izskatu, ierāmējot tos divos vai spanos un piešķirot noteiktas stila klases.

      Piemēram, pielāgotajā funkcijas kodā iemiesojuma izvades fragments:

      < div class = "comment-author" >

      < / div >

      Tagad tas paliek iekšā stils.css iestatiet klasei vajadzīgos rekvizītus komentārs-autors. Sīkāk aplūkošu konkrētus stilu maiņas piemērus kādā no nākamajiem rakstiem.

      Tagad jums var rasties jautājums: " Ko darīt, ja manai veidnei nav pielāgotas komentēšanas funkcijas?

      Atbilde: jums tas ir jāizveido.

      Vienkāršākā iespēja ir kopēt standarta WordPress funkcijas kodu komentārs ().

      Norādījumi, kā izveidot pielāgotu funkciju komentāru parādīšanai:

      1. Atveriet failu /wp-includes/comment-template.php un atrodiet tajā funkciju komentārs ().

      Šeit ir viņas apraksta sākums

      /** * @no 3.6 * @access protected * * @param objekts $comment Parādāmais komentārs. * @param int $depth Komentāra dziļums. * @param masīvs $args Izvēles argumenti. */ aizsargātās funkcijas komentārs($comment, $depth, $args) (

      * @kopš 3.6

      * @piekļuve aizsargāta

      * @param objekts $comment Parādāmais komentārs.

      * @param int $depth Komentāra dziļums.

      * @param masīvs $args Izvēles argumenti.

      aizsargātās funkcijas komentārs ($comment, $depth, $args) (

      2. Kopējiet visu funkcijas pamattekstu komentārs ().

      Jums ir jākopē koda fragments no apraksta sākuma, kas parādīts 1. darbībā, uz noslēdzošo cirtaino iekava } un sekojošais līdzīgais citas funkcijas apraksts