Nastavenie komentárov vo WordPress. WordPress komentáre – kompletný dizajn vzhľadu Všetky pridať komentár komentár

Ahoj!

Dnešný článok je venovaný Výstup komentárov WordPress. Pozrieme sa, ktoré súbory a funkcie obsahujú kód zodpovedný za zobrazovanie komentárov. Čo je potrebné urobiť, aby ste mohli vykonávať zmeny v tomto bloku blogu WordPress.

Začnem tým, že každá WordPress šablóna (téma) má súbor komentáre.phpÚplná cesta k nemu z koreňového adresára je: /wp-content/themes/template_folder/comments.php

presne tak komentáre.php je vo všeobecnosti zodpovedný za blok komentárov v konkrétnej téme WordPress.

Čo je najčastejšie obsiahnuté v comments.php:

– skontrolujte ochranu komentárov heslom

– kontrola, či sú k článku povolené komentáre

– kontrola komentárov a zobrazenie príslušného textu („Žiadne komentáre...“ alebo „Zostáva N komentárov“)

volanie funkcie výstupu komentára – wp_list_comments()

– výstup navigácie (stránkovania) pri uverejňovaní komentárov na viacerých stránkach

– zobrazenie formulára na zanechanie komentárov k článku

Tu je jasné, že môžete definovať svoje triedy alebo meniť vlastnosti v style.css pre už existujúce triedy. Môžete tak zmeniť vzhľad formulára na zanechanie komentárov a textov pred zoznamom komentárov a za týmto zoznamom alebo formulárom. ale Samotné výstupné štýly komentárov nie je možné meniť v comments.php.

Keď som vypísal obsah súboru komentáre.php, potom osobitne zdôraznil, že v komentáre.php existuje len volanie funkcie na zobrazenie komentárov wp_list_comments(), ale nie samotný záver. Tie. V komentáre.php nenájdete (aspoň v najnovších verziách WordPressu a pri správnom prístupe k vývoju šablón): zobrazenie mena autora správy a odkazu na jeho webovú stránku, zobrazenie avatara autora, zobrazenie dátumu a času komentár, samotný komentár a odkaz „odpovedať“.

Ako zmeniť štýly v zozname komentárov?

Najprv musíte zistiť, či vaša šablóna používa vlastnú funkciu na zobrazenie komentárov.

Funkciu wp_list_comments() možno volať bez spätného volania (callback je funkcia spätného volania) a so spätným volaním.

1. Zavolajte wp_list_comments bez spätného volania:

Tie. v parametroch funkcie (to, čo je v zátvorkách za názvom) nie je žiadny parameter s názvom „callback“.

Ak v komentár.php vaša šablóna je takouto situáciou to znamená, že táto téma nemá vlastnú (používateľskú) funkciu na zobrazovanie komentárov a na to sa používa štandardná šablóna (šablóna z jadra WordPress). Nachádza sa v súbore. A odvtedy V tomto prípade nebudeme môcť zmeniť štýly zobrazenia komentárov, kým neprejdeme na druhú možnosť.

2. Zavolajte wp_list_comments so spätným volaním:

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

callback=custom_comment to naznačuje na zobrazenie komentárov máme vlastnú funkciu custom_comment , ktorého kód, zhruba povedané, odovzdávame ako parameter na vykonanie štandardnej funkcii wp_list_comments. Nás už ale nezaujíma technická stránka tejto problematiky, ale prítomnosť v šablóne vlastnej funkcie na zobrazovanie komentárov. Kód pre túto funkciu sa nachádza v .

Presne v tejto vlastnej funkcii custom_comment a nachádza sa kód zodpovedný za vzhľad jednotlivého komentára, a teda všetkých komentárov ako celku.

Kód vlastnej funkcie je intuitívny. Zvyčajne používa nasledujúce štandardné funkcie WordPress:

get_comment_author_link()– dostane html odkaz na webovú stránku autora aktuálneho komentára;

get_comment_date()– získa dátum komentára;

get_comment_time()– dostane čas na komentár;

text_komentára()– zobrazí text komentára;

V kóde môžete nájsť úryvky s týmito funkciami a zmeniť vzhľad určitých prvkov ich orámovaním do div alebo rozpätí a priradením špecifických tried štýlu.

Napríklad v kóde vlastnej funkcie fragment výstupu avatara:

< div class = "comment-author" >

< / div >

Teraz zostáva v style.css nastavte požadované vlastnosti pre triedu komentár-autor. Na konkrétne príklady zmeny štýlov sa pozriem podrobnejšie v niektorom z nasledujúcich článkov.

Teraz sa možno pýtate: „ Čo ak moja šablóna nemá funkciu vlastného komentára?

Odpoveď: musíte si ho vytvoriť.

Najjednoduchšou možnosťou je skopírovať kód štandardnej funkcie WordPress komentár ().

Pokyny na vytvorenie vlastnej funkcie na zobrazenie komentárov:

1. Otvorte súbor /wp-includes/comment-template.php a nájdite v ňom funkciu komentár ().

Tu je začiatok jej popisu

/** * @since 3.6 * @access protected * * @param object $comment Komentár na zobrazenie. * @param int $depth Hĺbka komentára. * @param pole $args Voliteľné argumenty. */ komentár chránenej funkcie ($comment, $depth, $args) (

* @od 3.6

* Ochrana prístupu @

* @param objekt $comment Komentár na zobrazenie.

* @param int $depth Hĺbka komentára.

* @param pole $args Voliteľné argumenty.

komentár chránenej funkcie ($comment, $depth, $args) (

2. Skopírujte celé telo funkcie komentár ().

Musíte skopírovať fragment kódu zo začiatku popisu zobrazeného v kroku 1 do záverečnej zloženej zátvorky } a nasledujúci podobný popis inej funkcie

Nedávno sa jeden z našich čitateľov spýtal, či je možné povoliť anonymné komentovanie vo WordPress. V predvolenom nastavení používatelia nemôžu uverejňovať komentáre vo WordPress bez uvedenia mena a e-mailovej adresy vo formulári komentárov. V tomto článku vám ukážeme, ako umožniť používateľom anonymne zanechávať komentáre vo WordPress. Ukážeme vám tiež, ako skryť polia pre meno a e-mail z formulára komentárov.

Prezývka: Ideálne riešenie

Najlepší spôsob, ako povoliť anonymné komentáre vo WordPress, je povzbudiť používateľov, aby namiesto svojho skutočného mena používali pseudonymy alebo prezývky.

To vám umožní vybudovať komunitu a zároveň umožní používateľom zostať v anonymite. Komentujúci budú musieť zanechať svoju e-mailovú adresu, ale väčšina ľudí, ktorí chcú zostať v anonymite, použije ďalšiu e-mailovú adresu.

Takéto možnosti môžete špecifikovať v pravidlách pre komentáre a nad formulárom komentárov na ne poskytnúť krížový odkaz.

Aj keď je toto riešenie ideálne a jediné, ktoré odporúčame, existujú aj iné riešenia pre anonymitu autorov. Pamätajte však, že čím väčšiu anonymitu stránka má, tým viac spamu bude obsahovať.

Polia Meno a E-mail budú voliteľné

Ďalšou vrstvou anonymity, ktorú môžete pridať, je, aby boli polia Meno a E-mail úplne nepovinné. Ak používateľ odošle iba komentár, bez mena alebo e-mailu, prejde. Pozrime sa, ako nastaviť polia Meno a E-mail ako voliteľné.

Najprv musíte ísť do sekcie Nastavenia » Diskusia administratívny panel stránky a zrušte začiarknutie políčka „Autor komentára musí uviesť meno a e-mail“. Teraz musíte uložiť zmeny a vaša stránka bude akceptovať komentáre bez mena a e-mailu.

Jednoduché odstránenie tohto začiarkavacieho políčka neinformuje používateľov o tom, že teraz môžu zanechať komentáre bez uvedenia mena alebo e-mailu. Môžete ich na to upozorniť označením príslušných polí ako voliteľných. Odporúčame tiež odstrániť pole Webové stránky, aby ste znížili množstvo spamu. Ak to chcete urobiť, musíte upraviť formulár komentára. Stačí skopírovať a prilepiť nasledujúci kód do súboru functions.php vašej témy alebo :

Funkcia wpb_alter_comment_form_fields($fields) ( // Upravte pole Name a zobrazte ho ako voliteľné $fields["author"] = "

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

"; // Upravte pole E-mail a zobrazte ho ako voliteľné $fields["email"] = " "; // Tento riadok odstráni pole Webová stránka z formulára komentára. $fields["url"] = ""; return $fields; ) add_filter("comment_form_default_fields", "wpb_alter_comment_form_fields");

Tento kód jednoducho pridáva (nie je potrebné) do polí Meno a E-mail vo formulári komentára. Odstráni z neho aj pole Site. Ak chcete opustiť „stránku“, jednoducho odstráňte príslušné riadky kódu. Takto bude vyzerať váš formulár komentára:

Ako úplne odstrániť polia Meno a E-mail z formulára komentárov

Pre tých používateľov, ktorí chcú úplne odstrániť polia Meno a E-mail z formulára komentárov, tu je malý kúsok kódu, ktorý vložíte do súboru functions.php vašej témy alebo :

Funkcia wpb_alter_comment_form_fields($fields) ( unset($fields["author"]); unset($fields["email"]); unset($fields["url"]); return $fields; ) add_filter("comment_form_default_fields" , "wpb_alter_comment_form_fields");

Ak váš formulár zobrazuje text Vaša emailová adresa nebude zverejnená(Váš e-mail nebude zverejnený), potom ho môžete skryť úpravou súboru comments.php témy. Nájdite značku a nahraďte ju nasledujúcim kódom:

"

" . __("Meno a e-mailová adresa sa nevyžadujú.") . ($req ? $required_text: "") ."

")); ?>

Ak nemôžete nájsť komentár_form, potom môžete tento text jednoducho skryť pridaním nasledujúceho kódu CSS do vašej témy alebo do súboru podradenej témy style.css:

Poznámky – komentár ( display:none; )

Takto bude vyzerať váš formulár komentára bez polí s menom, e-mailom a webovou stránkou:

Upozornenie na anonymné komentáre

Upozorňujeme, že bez povinných e-mailových polí bude váš formulár priťahovať veľa spamu. Aj keď Akismet a Sucuri môžu blokovať niektoré zlé adresy IP, dôrazne odporúčame pridať captcha na zníženie spamu.

Dúfame, že vám tento článok pomohol umožniť používateľom anonymne komentovať vo WordPress. Ukázali sme veľa štýlov pre formuláre komentárov, takže ak sa chcete o tejto téme dozvedieť viac, pozrite si náš článok

Už je to nejaký čas, čo som písal niečo o WordPresse. Preto sa s vami dnes podelím o to, ako môžete manuálne zmeniť formulár komentára vo WordPress. Myslím si, že tieto poznatky sa môžu hodiť každému začínajúcemu blogerovi, pretože komentujúci formulár je niekedy jediným prostriedkom komunikácie medzi návštevníkmi a autorom. Neprechádzaj okolo :)

Predtým, ako začneme s akýmikoľvek manipuláciami s kódom, chcem vás vopred upozorniť, že budeme upravovať súbory samotného WordPress, a nie súbory tém. Áno, niekomu sa to môže zdať nebezpečné, inému nezmyselné a iným sa to jednoducho nebude páčiť :) Ale ja som to presne tak urobil a nemal som žiadne problémy. Odporúčam vám, aby ste si pred spustením vytvorili zálohu súboru, ktorý upravujete.
Varoval som vás pred bezpečnosťou, teraz chcem ukázať výsledok, ku ktorému som dospel.


Ako vidíme, riadok „Váš e-mail nebude zverejnený“ bol odstránený. Povinné polia sú označené *“. Návštevníkov netreba považovať za tupcov bez mozgu. Už chápu, čo treba vyplniť a čo nie. Názvy polí som skryl aj do samotných polí. Načo sú tieto odvážne poznámky? Väčšina návštevníkov, dokonca aj bez názvov polí, dokáže „od oka“ určiť, ktoré z nich k čomu patrí. Ale vnútorné náznaky musia byť stále prítomné. No, nadpis do poľa komentára stratil zbytočnú drzosť. Podľa mňa sa to stalo oveľa lepšie a slobodnejšie.

Poďme teda rýchlo všetko zmeniť! ;)
Prejdeme do priečinka našej stránky a nájdeme v ňom súbor wp-includes/comment-template.php. Hľadáme v ňom linku 1522, áno, to je presne ono. Ako som to sám našiel je celý príbeh, o tom vám poviem trochu neskôr :)
Takže otvorte súbor na úpravu a prejdite na riadok 1522. Teraz a nasledujúce (do 1529) sú približne takéto:

$fields = array("autor" => "

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

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

" . "

",);

Aké je všetko jednoduché a jasné. Stačí len odstrániť všetok prebytok a trochu pridať. Parameter sa doplní

Placeholder="Text pomocníka" !}

Táto možnosť vám umožňuje zobraziť akýkoľvek text vo vnútri polí. Používame ho na zobrazenie tipov:

"

" "

" "

"

Vymažeme riadky:

"

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

"

Sú zodpovední za zobrazovanie titulkov nad poľami.
V dôsledku VŠETKÝCH týchto manipulácií dostaneme nasledovné:

$fields = array("autor" => "

", "e-mail" => "

", "url" => "

",);

Ostáva už len odstrániť hlúpu narážku „Váš e-mail nebude zverejnený. Povinné polia sú označené *“. Ak to chcete urobiť, odstráňte riadok (približne 1537):

"comment_notes_before" => "

" . __("Vaša e-mailová adresa nebude zverejnená.") . ($req ? $required_text: "") ."

",

Zdá sa, že to je všetko, teraz sa naša forma stala o niečo atraktívnejšou. Dúfam, že tieto informácie budú pre niekoho užitočné :)

Odoberajte, komentujte, budem rád, ak dostanem adekvátny komentár. Možno sám niečo neviem a dá sa to urobiť inak, podeľte sa o svoje myšlienky.

Tento názov mnohým ľuďom neprekáža, ale niekedy vyvstáva otázka, ako zmeniť pridať komentár, aby ste zanechali recenziu alebo podobne. V tomto prípade vám pomôže tento článok. Ako som napísal vyššie, ukážem vám niekoľko spôsobov.

Metóda č.1

Pri prvom spôsobe musíte nájsť súbor v priečinku s témou, ktorý je nainštalovaný na vašej webovej lokalite komentáre.php. Ak existuje, otvorte ho a vyhľadajte v ňom pole, ktoré je zodpovedné za nastavenie a zobrazenie obsahu formulára komentárov. Vyzerá to asi takto:

$args = array("comment_notes_before" => "

", "pole komentára" => "

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

Takže do tohto poľa musíte pridať nový parameter s požadovanou hodnotou a to je všetko. V našom prípade je toto:

"title_reply" => "Zanechajte svoju recenziu",

Ako chápete - Zanechajte svoju recenziu, toto je nový názov namiesto - Pridať komentár. Takýto parameter môžete pridať na koniec alebo na začiatok poľa. Dopadne to asi takto:

$args = array("title_reply" => "Zanechajte svoju recenziu", "comment_notes_before" => "

Vyplňte polia nižšie. Váš email nebude zverejnený. Povinné polia sú označené *

", "pole komentára" => "

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

Pridané na začiatok a teraz sa na stránkach príspevkov zobrazí riadok - Zanechajte svoju recenziu. Táto metóda nie je komplikovaná a vyžaduje minimálne úsilie, hlavnou vecou je správne definovať pole. Niekedy sa však stane, že v téme nie je žiadny súbor comments.php alebo v nej nie je žiadne pole a neviete, ako ho tam správne pridať, potom vám pomôže druhá metóda.

Metóda č.2

Podstatou druhej metódy je pridanie novej funkcie, ktorá nahradí názov. Ak to chcete urobiť, v priečinku s aktívnou témou musíte nájsť súbor function.php s vlastnými funkciami a na vhodnom mieste, ak to neviete, potom na samom konci pred záverečnou značkou PHP - ?> , ak nič také neexistuje, potom na úplný koniec pridajte nasledujúci kód:

Funkcia wph_change_submit_label($defaults) ( $defaults["title_reply"] = "Zanechajte recenziu"; return $defaults; ) add_filter("comment_form_defaults", "wph_change_submit_label");

Bonus

Je to v podstate to isté, čo sa urobilo v prvej metóde, jednoducho, tam sme to implementovali priamo do poľa a tu cez filter. Po týchto krokoch uvidíte zmenu názvu. Rovnako ako v prvom spôsobe môžete zmeniť text - Nechajte svoju recenziu na tú, ktorá sa vám páči. Tento text je uvedený ako príklad.

Chcem tiež navrhnúť a upozorniť na skloňovanie slova Komentáre. Ak sa vo formulári zobrazuje riadok - 1 publikovaný komentár alebo Komentáre: 10. Môžete použiť funkciu z článku. Ak ho už používate, odporúčam v riadku s poľom:

Array("komentár","komentár","komentáre")

Zmeňte názvy na recenzie, recenzie, recenzie, ak ste toto slovo použili vo vyššie uvedených metódach. takto budete mať všetko rovnaké a nie rozhádzané, sú tu recenzie a sú tam komentáre.

Toto sú informácie, ktoré som vám dnes chcel poskytnúť. Možno to bude pre niekoho užitočné.

To je všetko, ďakujem za pozornosť. 🙂

(v ktorej sme odstránili značky h3 v hlavičke pred formulárom komentárov) - dnes sfunkčníme funkciu formulára komentárov WP úplne podľa našich pravidiel:

Budeme mať možnosť nastaviť si vlastné štýly, zmeniť názov „Pridať komentár“ podľa vlastného uváženia, v prípade potreby vylúčiť určité okná na zadávanie informácií, napríklad formulár adresy URL, prispôsobiť zástupný symbol atď. a čo je najdôležitejšie, toto všetko nestratíte pri aktualizácii motora.

Teraz môžeme jednoducho dosiahnuť náš cieľ, len úpravou súboru funkcií. A ak sa cítite dostatočne silní na to, aby ste upravili kód stránky (táto metóda je o niečo zložitejšia ako metóda opísaná vyššie)…

Začnime koncert:

Oplatí sa upravovať jadro WordPress?

Ako viete, úprava jadra WordPress (súborov CMS) nie je odporúčaná činnosť, a to najmä z dôvodu, že po aktualizácii motora sa práca stratí! Navyše, pre začínajúcich správcov zdrojov sa tieto aktualizácie WordPress robia náhle (bez ich vedomia, prečítajte si toto).

Oplatí sa aktualizovať WordPress?

Samozrejme áno! ... tu nemôže byť žiadny nesúhlas! ...to je však spojené, ako bolo povedané, s tým, že aktualizácia enginu prepíše administrátorské vydania!

Preto veľa webmasterov používa na flexibilnejšie nastavenia svojich stránok všetky druhy filtrov (hackov): to tiež nie je zlé! Ja (a nielen ja) však radšej presúvam niektoré drobné (vzhľadom na dôležitosť neustálej aktualizácie) funkcie jadra WP do koreňa šablóny.

Vykonajte teda potrebné úpravy súborov tém, aby ste mohli spravovať stav stránky na úrovni šablóny: bez akýchkoľvek strát)

Začnime upravovať, ale!!

...zakaždým vám pripomínam: vytvorte si nejakú „pamäť“ dokumentu na všetky incidenty spáchané s blogom. Skopírujte upravené súbory. Bude sa to hodiť!

Verte mi: toto je málo profesionality, pretože možnosť strávenia nahromadených zŕn vedomostí do kaše je nepravdepodobná!

Čo potrebujeme na dosiahnutie cieľa:

preniesť spracovanie funkcie comment_form z jadra WP (zo súboru comment-template.php) do adresára šablón.

kde nájsť súbor comment-template.php

Nasledujte túto cestu your_domain/wp-includes file comment-template.php

...otvorte ho (alebo priamo na hostingu - to je to, čo robím), alebo si ho stiahnite a upravte v programe Notepad++ - prečítajte si: ako nakonfigurovať Notepad++

Vyhľadajte takýto riadok (približné číslo riadku 2111)

function comment_form($args = pole(), $post_id = null) (

do_action("comment_form_comments_closed");

Toto všetko skopírujete a prenesiete do súboru funkcií functions.php.

Všetky nové pridané kódy sa zvyčajne umiestňujú pred koncovú značku ?>. Odporúčam ale pridaný kód takpovediac zoskupiť podľa tém, potom v prípade potreby ľahko všetko nájdete.

Ďalším krokom je zmena názvu funkcie: môžete ju nazvať ako chcete, dokonca ju označiť osobným monogramom... Urobil som to takto:

funkcia my_my_ comment_form

Ukladáme naše úspechy...

...a prejdite do súboru comments.php vašej témy.

V tomto súbore musíme zmeniť názov volania funkcie na ten, ktorý sme zavolali v prvom kroku:

V dokumente vyhľadajte nasledujúcu frázu (zvyčajne je na konci):a jednoducho pridajte moje_moje_ alebo svoje meno.

Malo by to vyzerať takto:

...teraz je úloha volania novej funkcie dokončená: logika šablóny použije náš kód skopírovaný do témy!

Presne to, čo sme potrebovali!

Teraz už len stačí upraviť kód novovytvorenej funkcie my_my_comment_form();

...alebo nastavte individuálny zástupný symbol - pozrite sa, ako to vyzerá u mňa:

...v okne môjho komentára je monogram „Váš komentár...“, ktorý zmizne hneď, ako komentátor napíše svoju správu...

...a tak ďalej...a tak ďalej...takto.

Ak máte akékoľvek otázky týkajúce sa pridávania/odstraňovania prvkov z formulára komentárov, napíšte a my to vyriešime...

alebo si tu môžete prečítať príspevok o užitočných úryvkoch (


Hore