publikacja: 28 lipca 2009, 13:15; autor: Wojciech Usarzewicz http://wpninja.pl/wu-pe-chi-triki-2-wyswietlamy-komentarze-na-stronie-glownej/

Wu-Pe-Chi Triki #2: Wyświetlamy komentarze na stronie głównej

Wu-Pe-Chi Triki #2: Wyświetlamy komentarze na stronie głównej

Słońce powoli skrywało się za horyzontem, a w powietrzu dało się wyczuć jedynie wszechobecną ciszę. Kończyłem właśnie ostatnie przygotowania do całonocnej medytacji w świetle księżyca, gdy wten właśnie czas wpadł na taras zlany potem Piotr San, ponieważ jednak Tao nakazuje zachować spokój umysłu, spocząć mu kazałem i miseczkę wody podałem, od gniewu się powstrzymując. Gdy Piotr San ochłonął, przemówił:

- Miszczu, miałem wizję! Wielką stronę widziałem, wielu czytelników miałem, wiele srebrników zarabiałem, lecz… Lecz miszczu, w wizji tej komentarze na stronie głównej wyświetlane były… jakże to tak, miszczu? Księgi wiedzy mówią, iż niemożliwym jest to.

Słońce zaszło już za horyzont, a na niebie zabłysły pierwsze gwiazdy. Odpowiedziałem:

- Rację w nieracji masz, Piotrze Sanie, bo choć księgi w wiedzę bogate, to mądrości w nich brak. Ucisz swą mowę, a mądrość swą Ci przekażę…

Rzecz z pozoru tajemna, niczym droga Wu-Pe-Chi prostą jest, polega bowiem na wpisaniu dosłownie czterech linijek kodu do zaledwie dwóch plików, bowiem index.php w racji skryptów ujętych w rdzeniu WordPressa nie pozwala na wyświetlenie komentarzy poza plikami single.php oraz page.php. Musimy więc wyedytować dwa pliki, a pierwszym z nich jest właśnie index.php, którego otwieramy.

Na samej górze zobaczmy fragment:

<?php get_header(); ?>

Dokładnie pod tym fragmentem wklejamy tenże kod:

<?php $withcomments = 1; ?>

A następnie w pętli (the_loop()), a dokładniej przed jej końcem trzeba nam jeszcze umieścić funkcję odpowiedzialną za wyświetlanie komentarzy, wyglądać to będzie więc tak:

<?php comments_template(); endwhile; ?>

Pamiętajcie, iż to endwhile; już znajduje się w pętli, jest to właśnie instrukcja ja kończąca, nie wklejajcie jej po raz drugi. I na tym kończymy pierwszy etap pracy, bowiem komentarze są już wyświetlane na stronie głównej. Niestety, razem z formularzem do dodawania nowych komentarzy, toteż osoby, które nie chcą formularza wyświetlać, są zmuszone dodatkowo popracować.

Trzeba nam więc otworzyć plik comments.php, a tam zlokalizować fragment:

<?php if ( comments_open() ) : ?>

Przed tą instrukcją warunkową wklejamy własną instrukcję, która sprawdzi, czy wyświetlana strona jest wpisem lub stroną statyczną, a jeśli tak, to wyświetli formularz.

<?php if ( is_single() || is_page() ) : ?>

Na samym końcu pliku odnajdujemy jeszcze fragment endif; i go podwajamy, tworząc endif;endif;. Ot i cała filozofia, teraz formularz nie będzie już wyświetlany na stronie głównej. I tak oto jesteś teraz wędrowcze bogatszy w wiedzę.

Jeśli opowieść ta przydatną dla Ciebie była, nie omieszkaj wrzucić czegoś do mieszka, pamiętajcie jednak, że na srebrnikach nigdy skończyć się nie może, albowiem pieniądz środkiem do osiągania celu, a nie celem samym w sobie jest. Idźcie więc w pokoju, szukać własnego Tao (z drugiej strony, dóbr materialnych Tao nam nie zabrania, więc…), bowiem droga Wu-Pe-Chi prosta, choć wydawać by się mogło inaczej…

Komentarze (23)

  1. Custom (28 lipca 2009, 13:19) #:

    Już lubię tą serię Wu-Pe-Chi ;) Boskie teksty :)

  2. GrovMan (28 lipca 2009, 13:57) #:

    Świetnie napisane, chociaż nie widzę zastosowania dla komentarzy na stronie głównej. ;-)

  3. Zacol (28 lipca 2009, 14:06) #:

    @GrovMan: Również nie widzę zastosowania dla tego tekstu. No chyba, że o wyświetlanie zajawek chodzi, ale do tego są wtyczki odpowiednie.

  4. Jacek Krużycki (28 lipca 2009, 14:39) #:

    W przypadku zrobienia z WP swojego rodzaju katalogu, takie opinie mogą być przydatne. Jednak wtedy wartoby je ograniczyć do np. ostatnich 3 sztuk :)

  5. Nathan Usarzewicz (28 lipca 2009, 16:39) #:

    No jak by ktoś dla przykładu chciał WordPressa (albo Mu albo BuddyPressa) przerobić na drugiego Flakera to komentarze na głównej jak znalazł :)

  6. Zacol (28 lipca 2009, 17:20) #:

    @Nathan: O tym nie pomyślałem :) Pytanie tylko czy jest sens tworzyć kolejną kopię? Tak czy siak, komuś na pewno się przyda.

  7. Nathan Usarzewicz (28 lipca 2009, 17:50) #:

    No to już zależy, co chcesz robić – np. komuś (tak jak mnie teraz) może widzieć się mały serwis w stylu mikrobloga, w którym dzięki AJAXowi userzy mogą jak na Flakerze dodawać komentarze, toteż te na stronie głównej są bardzo przyjemnym rozwiązaniem.

    Różne rzeczy można z WP strzelić :)

  8. aniec2 (28 lipca 2009, 18:05) #:

    @Świetnie napisane, chociaż nie widzę zastosowania dla komentarzy na stronie głównej. ;-)

    Podobne odczucia, ale Nathan masz bardzo fajny styl!

  9. Nathan Usarzewicz (28 lipca 2009, 18:06) #:

    @aniec2

    Dziękować, dziękować :).

  10. aniec2 (28 lipca 2009, 19:14) #:

    Nathan popraw błąd:

    „miseczkę wody podałem, od gniemu” (gniewu)

  11. Szymon Skulimowski (29 lipca 2009, 20:37) #:

    Poprawione. Dzięki. :-)

  12. Zacol (29 lipca 2009, 21:20) #:

    A ja myślałem, że błąd o którym pisze Aniec2 to celowy zabieg stylistyczny :P

  13. Nathan Usarzewicz (29 lipca 2009, 22:24) #:

    @Zacol,

    Heh, to raczej stylistyka ma być moim zapleczem do taktycznego odwrotu w przypadku takich błędów językowych :P

  14. Nomex (1 sierpnia 2009, 18:56) #:

    „A następnie w pętli (the_loop()), a dokładniej przed jej końcem”
    Rozumiem, że szukamy w kodzie index.php tego ‚the_loop’ czy to coś bardziej złożonego?
    W moim pliku tego nie znajduje :)

  15. Nathan Usarzewicz (3 sierpnia 2009, 12:15) #:

    the_loop() jest pojęciem abstrakcyjnym, poczytaj ten art: http://wpninja.pl/pliki-szablonow-wordpressa-czesc-2-pierwsze-spojrzenie-na-petle/ – a wszystko zrozumiesz.

  16. Nomex (4 sierpnia 2009, 16:15) #:

    No cóż jednak ‚droga Wu-Pe-Chi’ jest dla takiego wędrowca jak jak szlakiem przez gęstą dżunglę i to bez maczety. Pomimo zapoznania się z podanym artykułem nie potrafię się zmierzyć z tym tematem. Obrałem własną drogę czerwonego szlaku i metodą prób i błędów dodałem do sidebar.php i co zaiste wydawać by się mogło śmieszne pokazały mi się 3 ostatnie komentarze ze strony tylko w jakieś dużej wersji. Póki co wydeptuję dalej własną ścieżką zatracenia :)

  17. marsjaninzmarsa (10 września 2009, 22:17) #:

    Wadą takiego rozwiązania jest to, że po jakiejkolwiek praktycznie aktualizacji wp trzeba będzie to wpisywać od nowa… Ale wpis fajny ;)

  18. Nathan Usarzewicz (10 września 2009, 22:28) #:

    Mylisz się wędrowcze, bo przecież edytujesz szablon, a nie pliki WordPressa ;).

  19. marsjaninzmarsa (11 września 2009, 13:11) #:

    Faktycznie, nie dość uważnie czytałem drogowskazy, wybacz miszczu, że zbłądziłem…
    Ps: na kiedy planowane jest podsumowanie „miesiąca”…? Bo coś dawno nie było wpisów z tego cyklu, a też bardzo je lubiłem… ;)

  20. Szymon Skulimowski (13 września 2009, 12:21) #:

    Ps: na kiedy planowane jest podsumowanie „miesiąca”…?

    Teraz podsumowanie będą pojawiały się raz na kwartał (najbliższe za lipiec-wrzesień czyli tak na początku października).

  21. marsjaninzmarsa (13 września 2009, 22:40) #:

    Aha, rozumiem, dziękuję za odpowiedź… :)

  22. Maggie (29 września 2009, 20:54) #:

    Zrobiłam wszystko według wskazówek jednak nadal wyświetla się formularz.

  23. marsjaninzmarsa (18 listopada 2009, 12:01) #:

    @Szymon: Ja nic nie mówię, ale mamy już połowę listopada, więc…
    No chyba że teraz podsumowania będą robione raz na rok, więc kolejny deadline wypadałby tak w styczniu… ;)

Dodaj własny komentarz

Odnośniki z innych stron (1)

Lista innych stron, które w jakiś sposób odnoszą się do opublikowanej tutaj treści:

  1. Modernizacja bloga | Grzanek

    [...] sposób uzyskanie komentarzy na pierwszej stronie przybliżył mi blog WPNINJA Tags: blog, modernizacja, [...]