Grupowanie komentarzy w wątki w WordPress
Ostatnimi czasy coraz więcej osób odwiedza moją stronę i jednocześnie zostawia na niej komentarze. To zjawisko oczywiście bardzo mnie cieszy i mam nadzieję, że będzie tak dalej…
Czasami w komentarzach pojawią się konkretne opinie o wpisie, a czasem temat dyskusji idzie zupełnie na boczne tory… Dlatego też dziś postanowiłem wprowadzić na mojej stronie możliwość odpowiadania na konkretny komentarz. Funkcjonalność ta realizowana jest przez tzw. wątkowanie (do 5 poziomu zagnieżdżenia komentarzy).
WordPress od wersji 2.7(.0) pozwala w łatwy sposób włączyć odpowiednie funkcjonalności w panelu administracyjnym:
Ustawienia -> Dyskusja -> część Inne ustawienia komentarza
- Zezwól na wątki (zagnieżdżone) w komentarzach do X poziomu
- Podziel komentarze na strony, po X komentarzy na stronę z ostatnią/pierwszą stroną wyświetlaną na początku.
- Komentarze powinny być wyświetlane z starszymi/nowszymi komentarzami na górze każdej strony
Ale to nie wszystko, bo nasz motyw/template WP zapewne nie ma wbudowanej obsługi nowego formatowania komentarzy. Jeśli tak, to należy dokonać zmian w dwóch lub trzech plikach naszego motywu:
- header.php – dodać skrypt JS obsługujący ruchomy formularz;
- comments.php – przebudować wyświetlanie formularza i udostępnić dodatkowe opcje;
- style.css – ostylować wyświetlanie komentarzy według własnych preferencji.
Dwa pierwsze kroki zostały bardzo dobrze opisane na stronie WPNinja we wpisie: WordPress 2.7: Nowy system komentarzy. Dodam tylko, że w punkcie 5. Odnośnik „anuluj odpowiedź” powinno być:
<?php cancel_comment_reply_link(); ?>
(autor instrukcji zapomniał o znaku ; )
Formatowanie css zostało opisane przez Damiana Sochackiego we wpisie: WordPress 2.7 – System komentarzy
Jeszcze jedna dodatkowa sprawa ode mnie – jeśli chcemy mieć większe avatary niż domyślne (32×32) w kroku 2. Nowa funkcja wyświetlająca (według WPNinja) zamiast:
<?php wp_list_comments(); ?>
powinno się wstawić:
<?php wp_list_comments(array(‘avatar_size’=>40 )); ?>
gdzie 40 to przykładowy nowy rozmiar avatara.
Powodzenia!


Serendipity – silnik blogowy, z którego korzystam – tworzenie wątków w komentarzach oferuje w standardzie. Ja jednak, na pohybel zaletom tego rozwiązania, usunąłem tę funkcję, bo denerwowało mnie podporządkowywanie się jej. Dla zachowania porządku wypadało na każdy z nastu komentarzy odpowiadać z osobna, a ja, jako gospodarz, chciałem każdego „zaszczycić” odpowiedzią ;) Koniec końców postawiłem na prosty system odpowiadania z @ w jednym komentarzu i tak zapewne pozostanie. Strasznie lubię prostotę :)
@szuman – A ja postanowiłem, że dodam tę funkcję, bo czasem mi jej brakowało… Sam prawdopodobnie będę odpowiadał najczęściej z opcją wątkowania ale nie zapomnę o tradycyjnych grupowych komentarzach z @ :)
Jeszcze kilka tygodni temu również chciałem usilnie wprowadzić taką możliwość co nie było takie proste z połączeniem z wtyczką stronicowania dużej liczby komentarzy w temacie. Później doszły modyfikacje wyświetlania komentarzy oraz opcja używania kodów BB do edycji tekstu i ostatecznie stwierdziłem, że nie podoba mi się jednak wygląd tych Odpowiedzi – tak więc usunąłem tą opcje.
- Kiedyś widziałem na jakimś blogu bardzo fajny sposób odpowiedzi w komentarzach chyba z użyciem AJAX lub Flashu ale nie mogę go ponownie odnaleźć, żeby sprawdzić co to za wtyczka.
@Respect – Ja też się długo wahałem ale jednak włączyłem. Jeśli będzie źle, brzydko i niepraktycznie :) to wrócę do starego systemu…
A ja sie nie zgodze…
@johny-max – Witaj! Powiedź z czym konkretnie się nie zgadzasz?
Temat nowego systemu komentarzy wraca do mnie jak bumerang :) Ciągle nie mogę podjąć decyzji co do wprowadzenia zmian, do tego jeszcze ten notoryczny brak czasu :)
A propos johny-max’a nie tylko u Ciebie się z czymś nie zgadza :D
@Filu – Witam i dziękuję za wpis. Jak widzisz ja jednak zrezygnowałem po miesiącu z nowego systemu komentarzy. Okazało się niektórzy używali tej opcji, a inni nie i robił się za duży bałagan…
PS. Właśnie zabieram się za przeglądanie części turystycznej Twojej strony.
Duży + Jakubie za skategoryzowanie top komentarzy. Wcześniej musiałem najeżdżać myszką na każda osobę aby zobaczyć w jakim temacie został dodany nowy komentarz. Teraz zrobiło się prosto, przejrzyście i przyjemnie.
@Respect – Dzięki. Jakoś tak przypadkiem zacząłem grzebać w ustawieniach wtyczki, efekt bardzo mi się spodobał, więc tak zostało…
Mam pytanie trochę offtopowe bo ciągle dotyczy wtyczki Recent Comments o której już kiedyś pisaliśmy. Kombinuje stworzenie drugiej zakładki takiej jak „Ostatnie komentarze” obok siebie ale żeby pokazywała wyłącznie np. 20 ostatnich komentarzy a nie jak mam w ustawieniach np. 5. Jak zmodyfikować ręcznie ten kod? Ktoś ma pomysł?
@Respect – Zerknij może na to: http://wordpress.org/extend/plugins/recent-comments/other_notes/
@Jakubie – i właśnie ta wtyczka wystarczająco mi odpowiada. Dzięki za pomoc.
Czy coś zmieniałeś w opcji „Ostatnie Komentarze”? Wydawało mi się wcześniej, że po kliknięciu na nick osoby w danej kategorii przechodziłem do ostatniego komentarza danej osoby. Teraz wprowadził się jakiś chaos.
@Respect – Ostatnio nic nie zmieniałem. Bawiłem się kilka tygodni temu i wtedy ustawiłem grupowanie nowych komentarzy wg wpisów. Zrobiłem też tak, ze nazwa wpisu kieruje do wpisu, a nick komentującego do jego strony (chyba że nie podał to wtedy do głównej strony mojego serwisu). Ostatnio chyba z 2 razy nie podałeś strony przy komentarzu i pewnie dlatego to dziwnie zadziałało, ale już Ci uzupełniłem.
Witam
Bardzo mi się to przydało. System grupowania umieszczę na moim WordPressie http://www.casiopolska.pl
Pozdrawiam