publikacja: 28 lipca 2009, autor: , komentarzy 26 https://wpninja.pl/artykuly/wu-pe-chi-triki-2-wyswietlamy-komentarze-na-stronie-glownej/

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


Warning: Trying to access array offset on false in /home/klient.dhosting.pl/wpn/wpninja.pl/public_html/wp-content/themes/wpninja/functions.php on line 159
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

  1. Custom 15 lat temu:

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

    odpowiedz
  2. GrovMan 15 lat temu:

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

    odpowiedz
  3. Zacol 15 lat temu:

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

    odpowiedz
  4. Jacek Krużycki 15 lat temu:

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

    odpowiedz
  5. Nathan Usarzewicz 15 lat temu:

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

    odpowiedz
  6. Zacol 15 lat temu:

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

    odpowiedz
  7. Nathan Usarzewicz 15 lat temu:

    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ć :)

    odpowiedz
  8. aniec2 15 lat temu:

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

    Podobne odczucia, ale Nathan masz bardzo fajny styl!

    odpowiedz
  9. Nathan Usarzewicz 15 lat temu:

    @aniec2

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

    odpowiedz
  10. aniec2 15 lat temu:

    Nathan popraw błąd:

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

    odpowiedz
  11. Szymon Skulimowski 15 lat temu:

    Poprawione. Dzięki. :-)

    odpowiedz
  12. Zacol 15 lat temu:

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

    odpowiedz
  13. Nathan Usarzewicz 15 lat temu:

    @Zacol,

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

    odpowiedz
  14. Nomex 15 lat temu:

    „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 :)

    odpowiedz
  15. Nathan Usarzewicz 15 lat temu:

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

    odpowiedz
  16. Nomex 15 lat temu:

    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 :)

    odpowiedz
  17. marsjaninzmarsa 15 lat temu:

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

    odpowiedz
  18. Nathan Usarzewicz 15 lat temu:

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

    odpowiedz
  19. marsjaninzmarsa 15 lat temu:

    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… ;)

    odpowiedz
  20. Szymon Skulimowski 15 lat temu:

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

    odpowiedz
  21. marsjaninzmarsa 15 lat temu:

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

    odpowiedz
  22. Maggie 15 lat temu:

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

    odpowiedz
  23. marsjaninzmarsa 14 lat temu:

    @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… ;)

    odpowiedz
  24. Anonim 14 lat temu:

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

    odpowiedz
  25. Fader 12 lat temu:

    Witam,
    Powyższe komentarze wskazują na to że, od lat nikt nie podążał tą drogą…
    Postanowiłem mimo wszystko wejść na ten szlak z maczetą i trochę ją odchwaścić…
    Cała drogę zgodnie ze wskazówkami przykładnie przeszedłem.
    Szybko osiągnąłem zamierzony cel… Po dokładnym rozpoznaniu okazało się jednak że nie do końca…
    Wyświetlają się komentarze na głównej, problem w tym że tylko te z ostatniego wpisu. Przy starszych wpisach na głównej też wczytują się komentarze, ale nie dotyczące ich konkretnie tylko zawsze z ostatniego (komentowanego) wpisu… Testowałem na 2 blogach.
    Strona testowa: http://www.qbalab.com/labtwo/ (widać efekt)
    Docelowa strona na której ów „bajer” będzie wykorzystany: http://www.dziennikifadera.pl (testowane, ale się wycofałem po wyskoczeniu w.wspomnianego błędu)
    Może wynika to z jakiś zmian wewnętrznych w wordpressie przez te lata?
    Może ja coś pokręciłem?(choć wydaje mi się to mało prawdopodobne bo sprawdzałem kilkakrotnie).
    Z góry dzięki za pomoc.

    odpowiedz
    1. Fader 12 lat temu:

      Chociaż jakaś „malusia wskazóweczka”, albo coś? Sam z tej dżungli nie wyjdę, bo się w kółko kręcę… PLS…

      odpowiedz

Dodaj własny komentarz


Warning: Undefined variable $user_ID in /home/klient.dhosting.pl/wpn/wpninja.pl/public_html/wp-content/themes/wpninja/comments.php on line 95