Nastavení komentářů ve WordPressu. Komentáře WordPress – kompletní vzhled vzhledu Všechny přidat komentář komentář

Ahoj!

Dnešní článek je věnován Výstup komentáře WordPress. Podíváme se, které soubory a funkce obsahují kód zodpovědný za zobrazování komentářů. Co je třeba udělat, abyste mohli provádět změny v tomto bloku blogu WordPress.

Začnu tím, že každá WordPress šablona (téma) má soubor komentáře.phpÚplná cesta k němu z kořenového adresáře je: /wp-content/themes/template_folder/comments.php

Přesně komentáře.php je obecně zodpovědný za blok komentářů v konkrétním tématu WordPress.

Co je nejčastěji obsaženo v comments.php:

– zkontrolujte ochranu komentářů heslem

– kontrola, zda jsou u článku povoleny komentáře

– kontrola komentářů a zobrazení odpovídajícího textu („Žádné komentáře...“ nebo „Zbývá N komentářů“)

volání funkce výstupu komentáře – wp_list_comments()

– výstup navigace (stránkování) při vkládání komentářů na více stránek

– zobrazení formuláře pro zanechání komentáře k článku

Zde je jasné, že můžete definovat své třídy nebo měnit vlastnosti v styl.css pro již existující třídy. Můžete tak změnit vzhled formuláře pro zanechání komentářů a textů před seznamem komentářů a za tímto seznamem nebo formulářem. Ale Výstupní styly samotných komentářů nelze v comments.php měnit.

Když jsem vypsal obsah souboru komentáře.php, pak konkrétně zdůraznil, že v komentáře.php existuje pouze volání funkce pro zobrazení komentářů wp_list_comments(), ale ne samotný závěr. Tito. PROTI komentáře.php nenajdete (alespoň v nejnovějších verzích WordPressu a při správném přístupu k vývoji šablon): zobrazení jména autora zprávy a odkazu na jeho web, zobrazení avatara autora, zobrazení data a času komentář, samotný komentář a odkaz „odpovědět“.

Jak změnit styly v seznamu komentářů?

Nejprve musíte zjistit, zda vaše šablona používá vlastní funkci pro zobrazení komentářů.

Funkci wp_list_comments() lze volat bez zpětného volání (zpětné volání je funkce zpětného volání) a se zpětným voláním.

1. Zavolejte wp_list_comments bez zpětného volání:

Tito. v parametrech funkce (to, co je v závorkách za názvem) není žádný parametr nazvaný „callback“.

Pokud v komentář.php vaše šablona je taková situace to znamená, že toto téma nemá vlastní (uživatelskou) funkci pro zobrazování komentářů a k tomu se používá standardní šablona (šablona z jádra WordPressu). Nachází se v souboru. A od té doby V tomto případě nebudeme moci změnit styly zobrazení komentářů, dokud nepřejdeme na druhou možnost.

2. Zavolejte wp_list_comments se zpětným voláním:

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

callback=custom_comment to naznačuje pro zobrazení komentářů máme vlastní funkci custom_comment , jehož kód, zhruba řečeno, předáme jako parametr pro provedení standardní funkci wp_list_comments. Nás už ale nezajímá technická stránka této problematiky, ale přítomnost v šabloně vlastní funkce pro zobrazování komentářů. Kód pro tuto funkci se nachází v .

Přesně v této vlastní funkci custom_comment a je umístěn kód zodpovědný za vzhled jednotlivého komentáře, a tedy všech komentářů jako celku.

Vlastní kód funkce je intuitivní. Obvykle používá následující standardní funkce WordPress:

get_comment_author_link()– obdrží html odkaz na webovou stránku autora aktuálního komentáře;

get_comment_date()– získá datum komentáře;

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

text_komentáře()– zobrazí text komentáře;

V kódu můžete najít úryvky s těmito funkcemi a změnit vzhled určitých prvků jejich orámováním do div nebo spans a přiřazením konkrétních tříd stylu.

Například v kódu vlastní funkce fragment výstupu avatara:

< div class = "comment-author" >

< / div >

Nyní zůstává v styl.css nastavte požadované vlastnosti třídy komentář-autor. Na konkrétní příklady změny stylů se podívám podrobněji v některém z následujících článků.

Možná se teď ptáte: „ Co když moje šablona nemá funkci vlastního komentáře?

Odpověď: musíte ji vytvořit.

Nejjednodušší možností je zkopírovat kód standardní funkce WordPress komentář().

Pokyny pro vytvoření vlastní funkce pro zobrazení komentářů:

1. Otevřete soubor /wp-includes/comment-template.php a najděte v něm funkci komentář().

Zde je začátek jejího popisu

/** * @since 3.6 * @access protected * * @param object $comment Komentář k zobrazení. * @param int $depth Hloubka komentáře. * @param pole $args Volitelné argumenty. */ komentář chráněné funkce ($comment, $depth, $args) (

* @od 3.6

* Chráněno @přístupem

* @param objekt $comment Komentář k zobrazení.

* @param int $depth Hloubka komentáře.

* @param pole $args Volitelné argumenty.

komentář chráněné funkce ($comment, $depth, $args) (

2. Zkopírujte celé tělo funkce komentář().

Musíte zkopírovat fragment kódu od začátku popisu zobrazeného v kroku 1 do uzavírací složené závorky } a následující podobný popis jiné funkce

Nedávno se jeden z našich čtenářů zeptal, zda je možné povolit anonymní komentáře ve WordPressu. Ve výchozím nastavení nemohou uživatelé přidávat komentáře do WordPress, aniž by ve formuláři komentáře uvedli jméno a e-mailovou adresu. V tomto článku vám ukážeme, jak umožnit uživatelům anonymně zanechávat komentáře ve WordPressu. Ukážeme vám také, jak skrýt pole jména a e-mailu z formuláře komentáře.

Přezdívka: Ideální řešení

Nejlepší způsob, jak povolit anonymní komentáře ve WordPressu, je vyzvat uživatele, aby místo svého skutečného jména používali pseudonymy nebo přezdívky.

To vám umožní vybudovat komunitu a zároveň uživatelům umožní zůstat v anonymitě. Komentující budou muset zanechat svou e-mailovou adresu, ale většina lidí, kteří chtějí zůstat v anonymitě, použije další e-mailovou adresu.

Tyto možnosti můžete zadat v zásadách pro komentáře a nad formulářem pro komentáře na ně poskytnout křížový odkaz.

Zatímco toto řešení je ideální a jediné, které doporučujeme, existují i ​​jiná řešení pro anonymitu autorů. Pamatujte však, že čím větší anonymitu web má, tím více spamu bude obsahovat.

Pole Jméno a E-mail budou volitelná

Další vrstvou anonymity, kterou můžete přidat, je učinit pole Jméno a E-mail zcela nepovinnými. Pokud uživatel odešle pouze komentář, bez jména nebo e-mailu, projde. Podívejme se, jak nastavit pole Jméno a E-mail jako volitelná.

Nejprve musíte jít do sekce Nastavení » Diskuse administrativní panel webu a zrušte zaškrtnutí políčka „Autor komentáře musí uvést jméno a e-mail“. Nyní musíte uložit změny a váš web bude přijímat komentáře bez jména a e-mailu.

Pouhým odstraněním tohoto zaškrtávacího políčka nebudou uživatelé informováni o tom, že nyní mohou zanechat komentáře bez uvedení jména nebo e-mailu. Můžete je na to upozornit označením příslušných polí jako volitelných. Doporučujeme také odstranit pole Web, abyste snížili množství spamu. Chcete-li to provést, musíte upravit formulář komentáře. Stačí zkopírovat a vložit následující kód do souboru functions.php vašeho motivu nebo :

Funkce wpb_alter_comment_form_fields($fields) ( // Upravte pole Název a zobrazte jej jako volitelná $fields["author"] = "

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

"; // Upravte pole E-mail a zobrazte jej jako volitelná $fields["email"] = " "; // Tento řádek odstraní pole Web z formuláře komentáře. $fields["url"] = ""; return $fields; ) add_filter("comment_form_default_fields", "wpb_alter_comment_form_fields");

Tento kód jednoduše přidá (Není nezbytné) do polí Jméno a E-mail ve formuláři komentáře. Odebere z něj také pole Site. Pokud chcete opustit „Stránky“, jednoduše odstraňte odpovídající řádky kódu. Takto bude vypadat váš formulář komentáře:

Jak úplně odstranit pole Jméno a E-mail z formuláře komentáře

Pro uživatele, kteří chtějí zcela odstranit pole Jméno a E-mail z formuláře komentáře, je zde malý kousek kódu, který vložíte do souboru functions.php vašeho motivu nebo :

Funkce 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");

Pokud váš formulář zobrazuje text Vaše e-mailová adresa nebude zveřejněna(Váš e-mail nebude zveřejněn), poté jej můžete skrýt úpravou souboru comments.php tématu. Najděte značku a nahraďte ji následujícím kódem:

"

" . __("Jméno a e-mailová adresa nejsou povinné.") . ($req ? $required_text: "") ."

")); ?>

Pokud nemůžete najít komentář_form, pak můžete tento text jednoduše skrýt přidáním následujícího kódu CSS do vašeho motivu nebo do podřízeného souboru motivu styl.css:

Komentář-poznámky ( display:none; )

Takto bude váš formulář pro komentář vypadat bez polí pro jméno, e-mail a web:

Upozornění na anonymní komentáře

Vezměte prosím na vědomí, že bez povinných e-mailových polí bude váš formulář přitahovat spoustu spamu. I když Akismet a Sucuri mohou blokovat některé špatné IP adresy, důrazně doporučujeme přidat captcha, abyste snížili spam.

Doufáme, že vám tento článek pomohl umožnit uživatelům anonymně komentovat ve WordPressu. Ukázali jsme spoustu stylů pro formuláře komentářů, takže pokud se chcete o tomto tématu dozvědět více, podívejte se na náš článek

Už je to nějaký čas, co jsem psal něco o WordPressu. Proto se s vámi dnes podělím o to, jak můžete ručně změnit formulář komentáře ve WordPressu. Myslím, že tyto znalosti se mohou hodit každému začínajícímu blogerovi, protože komentující formulář je někdy jediným prostředkem komunikace mezi návštěvníky a autorem. Nechoď kolem :)

Než začneme s jakýmikoli manipulacemi s kódem, chci vás předem upozornit, že budeme upravovat soubory samotného WordPressu, nikoli soubory motivů. Ano, někomu to může připadat nebezpečné, jinému nesmyslné a jiným se to prostě líbit nebude :) Ale já to přesně tak udělal a neměl jsem žádný problém. Doporučuji vám, abyste si před zahájením vytvořili zálohu souboru, který upravujete.
Varoval jsem vás před bezpečností, teď chci ukázat výsledek, ke kterému jsem dospěl.


Jak vidíme, řádek „Váš e-mail nebude zveřejněn“ byl odstraněn. Povinná pole jsou označena *“. Návštěvníky není třeba považovat za tupce bez mozku. Už chápou, co je potřeba vyplnit a co ne. Názvy polí jsem také schoval do samotných polí. K čemu jsou tyto tučné poznámky? Většina návštěvníků, a to i bez názvů oborů, dokáže „od oka“ určit, které z nich k čemu patří. Ale vnitřní narážky musí být stále přítomny. No, popisek do pole komentáře ztratil zbytečnou smělost. Podle mě se to stalo mnohem lepší a svobodnější.

Pojďme tedy vše rychle změnit! ;)
Přejdeme do složky našeho webu a najdeme v ní soubor wp-includes/comment-template.php. Hledáme v něm linku 1522, ano, to je ono. Jak jsem to sám našel je celý příběh, o tom vám povím později :)
Otevřete tedy soubor pro úpravy a přejděte na řádek 1522. Nyní a následující (až 1529) jsou přibližně takto:

$fields = array("author" => "

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

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

" . "

",);

Jak je vše jednoduché a jasné. Stačí vyjmout veškerý přebytek a trochu přidat. Parametr bude přidán

Placeholder="Text nápovědy" !}

Tato možnost umožňuje zobrazit libovolný text uvnitř polí. Používáme jej k zobrazení nápověd:

"

" "

" "

"

Smažeme řádky:

"

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

"

Jsou zodpovědní za zobrazování titulků nad poli.
V důsledku VŠECH těchto manipulací získáme následující:

$fields = array("author" => "

", "e-mail" => "

", "url" => "

",);

Nezbývá než odstranit stupidní narážku „Váš e-mail nebude zveřejněn. Povinná pole jsou označena *“. Chcete-li to provést, odstraňte řádek (přibližně 1537):

"comment_notes_before" => "

" . __("Vaše e-mailová adresa nebude zveřejněna.") . ($req ? $required_text: "") ."

",

To se zdá být vše, nyní se naše forma stala o něco atraktivnější. Doufám, že tyto informace budou pro někoho užitečné :)

Odebírejte, komentujte, budu rád za adekvátní komentáře. Možná sám něco nevím a jde to udělat jinak, podělte se o své myšlenky.

Toto jméno mnoho lidí neobtěžuje, ale někdy vyvstává otázka, jak změnit přidání komentáře, abyste zanechali recenzi nebo podobně. V tomto případě vám pomůže tento článek. Jak jsem psal výše, ukážu vám několik způsobů.

Metoda č. 1

U první metody musíte najít soubor ve složce s motivem, který je nainstalován na vašem webu komentáře.php. Pokud existuje, otevřete jej a vyhledejte v něm pole, které je zodpovědné za nastavení a zobrazení obsahu formuláře komentáře. Vypadá to asi takto:

$args = array("comment_notes_before" => "

", "pole komentáře" => "

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

Takže do tohoto pole musíte přidat nový parametr s požadovanou hodnotou a je to. V našem případě je toto:

"title_reply" => "Zanechte svou recenzi",

Jak chápete - Zanechte svou recenzi, toto je nový název místo - Přidat komentář. Takový parametr můžete přidat na konec nebo na začátek pole. Dopadne to asi takto:

$args = array("title_reply" => "Zanechte svou recenzi", "comment_notes_before" => "

Vyplňte níže uvedená pole. Váš email nebude zveřejněn. Povinná pole jsou označena *

", "pole komentáře" => "

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

Přidáno na začátek a nyní se na stránkách příspěvků zobrazí řádek - Zanechte svou recenzi. Tato metoda není složitá a vyžaduje minimální úsilí, hlavní věcí je správně definovat pole. Někdy se ale stane, že v motivu není žádný soubor comments.php nebo v něm není žádné pole a nevíte, jak ho tam správně přidat, pak vám pomůže druhá metoda.

Metoda č. 2

Podstatou druhé metody je přidání nové funkce, která nahradí název. Chcete-li to provést, ve složce s aktivním motivem musíte najít soubor funkce.php s vlastními funkcemi a na vhodném místě, pokud to neznáte, pak úplně na konci před závěrečnou značkou PHP - ?> , pokud nic takového neexistuje, přidejte na úplný konec následující kód:

Funkce wph_change_submit_label($defaults) ( $defaults["title_reply"] = "Zanechte svou recenzi"; return $defaults; ) add_filter("comment_form_defaults", "wph_change_submit_label");

Bonus

To je v podstatě stejné jako to, co bylo provedeno v první metodě, jednoduše, tam jsme to implementovali přímo do pole a zde přes filtr. Po těchto krocích uvidíte změnu názvu. Stejně jako v první metodě můžete změnit text - Nechte svou recenzi na tu, která se vám líbí. Tento text je uveden jako příklad.

Chci také navrhnout a upozornit na skloňování slova Komentáře. Pokud váš formulář zobrazuje řádek - 1 komentář publikován nebo Komentáře: 10. Můžete použít funkci z článku. Pokud jej již používáte, doporučuji v řádku s polem:

Array("komentář","komentář","komentáře")

Změňte názvy na recenze, recenze, recenze, pokud jste toto slovo použili ve výše uvedených metodách. tímto způsobem budete mít vše stejné a ne rozházené, jsou zde recenze a jsou komentáře.

Toto jsou informace, které jsem vám dnes chtěl poskytnout. Třeba se to někomu bude hodit.

To je vše, děkuji za pozornost. 🙂

(ve kterém jsme odstranili h3 tagy v záhlaví před formulářem komentáře) - dnes zprovozníme funkci formuláře komentáře WP zcela podle našich pravidel:

Budeme mít možnost nastavit vlastní styly, změnit název „Přidat komentář“ podle našeho uvážení, v případě potřeby vyloučit určitá okna pro zadávání informací, například formulář adresy URL, přizpůsobit zástupný symbol atd. a hlavně o to všechno při aktualizaci enginu nepřijít.

Nyní můžeme snadno dosáhnout našeho cíle, stačí upravit soubor funkcí. A pokud se cítíte dostatečně silní na to, abyste upravili kód webu (tato metoda je o něco složitější než ta popsaná dříve)…

Začneme koncertem:

Vyplatí se upravovat jádro WordPressu?

Jak víte, úprava jádra WordPressu (souborů CMS) není doporučená činnost, a to z velké části kvůli skutečnosti, že po aktualizaci enginu je práce ztracena! Navíc pro začínající správce zdrojů jsou tyto aktualizace WordPressu prováděny náhle (bez jejich vědomí). Jak se tomu vyhnout, přečtěte si toto.

Vyplatí se upgradovat WordPress?

Rozhodně ano! …zde nemůže být žádný nesouhlas! ...to je však zatíženo, jak bylo řečeno, tím, že aktualizace enginu přepíše administrátorské edice!

Proto mnoho webmasterů pro flexibilnější nastavení svých stránek používá všechny druhy filtrů (hacků): to také není špatné! Já (a nejen já) však preferuji přesunout některé drobné (vzhledem k důležitosti neustálých aktualizací) funkce jádra WP do kořene šablony.

Vygenerujte tedy potřebné úpravy souborů motivů, abyste mohli spravovat stav webu na úrovni šablony: bez jakýchkoli ztrát)

Začněme upravovat, ale!!

...pokaždé vám připomínám: vytvořte si nějakou „paměť“ dokumentu o všech incidentech spáchaných s blogem. Zkopírujte upravené soubory. Bude se to hodit!

Věřte mi: to je málo na profesionalitu, protože možnost strávení nahromaděných zrnek znalostí do kaše je nepravděpodobná!

Co potřebujeme k dosažení cíle:

přenést zpracování funkce comment_form z jádra WP (ze souboru comment-template.php) do adresáře šablon.

kde najít soubor comment-template.php

Postupujte podle této cesty your_domain/wp-includes file comment-template.php

...otevřít (nebo přímo na hostingu - to je to, co dělám), nebo stáhnout a upravit v Notepad++ - číst: jak nakonfigurovat Notepad++

Hledejte řádek jako je tento (přibližné číslo řádku 2111)

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

do_action("comment_form_comments_closed");

To vše zkopírujete a přenesete do svého souboru funkcí functions.php.

Všechny nové přidané kódy jsou obvykle umístěny před koncovou značku ?>. Doporučuji ale seskupovat přidaný kód takříkajíc podle tématu, vše pak v případě potřeby snadno najdete.

Dalším krokem je změna názvu funkce: můžete ji nazývat, jak chcete, dokonce ji označit osobním monogramem... Udělal jsem to takto:

funkce my_my_ comment_form

Ukládáme naše úspěchy...

...a přejděte do souboru comments.php vašeho tématu.

V tomto souboru musíme změnit název volání funkce na ten, který jsme zavolali v prvním kroku:

Hledejte v dokumentu následující frázi (obvykle je na konci):a jednoduše přidejte moje_moje_ nebo své jméno.

Mělo by to vypadat takto:

...nyní je úkol volání nové funkce dokončen: logika šablony použije náš kód zkopírovaný do motivu!

Přesně to, co jsme potřebovali!

Nyní stačí upravit kód nově vytvořené funkce my_my_comment_form();

...nebo nastavte samostatný zástupný symbol – podívejte se, jak to vypadá u mě:

...v mém okně formuláře komentáře je monogram „Váš komentář...“, který zmizí, jakmile komentátor napíše svou zprávu...

...a tak dále...a tak dále...takhle.

Pokud máte nějaké dotazy ohledně přidávání/odebírání prvků formuláře komentáře, napište a my to vyřešíme...

nebo si zde můžete přečíst příspěvek o užitečných úryvcích (


Horní