GoldenLine.pl  FaceBook  linkedin  Profeo  Google+  Nasza-Klasa  FILMWEB  wiki  last.fm  Flickr  linkedin  Allegro  EveryTrail

Grupowanie komentarzy w wątki w WordPress

12 listopada 2009 | 16 komentarzy | Kategorie: Inne

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!

.

Może zainteresować Cię jeszcze:

16 komentarzy

  1. 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ę :)

  2. @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 @ :)

  3. 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.

  4. @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…

  5. A ja sie nie zgodze…

  6. @johny-max – Witaj! Powiedź z czym konkretnie się nie zgadzasz?

  7. 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

  8. @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.

  9. 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.

  10. @Respect – Dzięki. Jakoś tak przypadkiem zacząłem grzebać w ustawieniach wtyczki, efekt bardzo mi się spodobał, więc tak zostało…

  11. 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ł?

  12. @Jakubie – i właśnie ta wtyczka wystarczająco mi odpowiada. Dzięki za pomoc.

  13. 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.

  14. @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.

  15. Witam
    Bardzo mi się to przydało. System grupowania umieszczę na moim WordPressie http://www.casiopolska.pl
    Pozdrawiam

Zostaw komentarz

Twój adres e-mail nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *

*

Poinformuj mnie o nowych komentarzach na e-mail. Możesz także SUBSKRYBOWAĆ ten wpis bez komentowania.