Kilka miesięcy temu kolega Piotr Sajnog opisywał na swoim blogu WordPress-ową wtyczkę Comment Redirect, dzięki której można na blogu stworzyć stronę z podziękowaniem za dodanie swojego pierwszego komentarza na blogu. Sam używałem tej wtyczki, ale przeszkadzała mi w niej jedna rzecz – brak możliwości umieszczenia na stronie z podziękowaniami linku zwrotnego do dopiero co dodanego komentarza. Dzisiaj miałem kilka chwil wolnego czasu, który wykorzystałem do napisania swojej wtyczki (bazowanej na Comment Redirect) pozbawionej tego mankamentu.
Instalacja wtyczki
Instalacja wtyczki przebiega standardowo:
- Instalujemy wtyczkę
- Tworzymy w panelu administracyjnym bloga stronę z podziękowaniami
- W ustawieniach wtyczki wybieramy z rozwijanej listy utworzoną przed chwilą stronę
I to wszystko :) Jeżeli chodzi o linki zwrotne, to w treści podziękowań można umieścić te dwa tagi:
- %comment_url% – wyświetli bezpośredni link do dodanego przez autora komentarza
- %post_url% – wyświetli link do komentowanego postu
Linki z użyciem tych tagów można dodawać jak każdy inny link:

Więcej o samej wtyczce możecie poczytać tutaj, a żywy przykład działania jest do wglądu tutaj :)
Ukrywanie strony z podziękowaniami na liście stron
Jeżeli macie gdzieś na blogu ładowaną dynamicznie listę stron, to warto zrobić jeszcze jeden myk, dzięki któremu utworzona przez nas strona nie będzie na tej liście wyświetlana. Będzie nam do tego potrzebny numer ID strony z podziękowaniami, który można odczytać w ustawieniach wtyczki:

Teraz w plikach szablonu bloga musimy odnaleźć funkcję wp_list_pages(), która jest odpowiedzialna za generowanie listy wszystkich stron. Standardowo funkcja ta jest umieszczana w takiej postaci:
Teraz cała filozofia sprowadza się do dopisania w tym nawiasie ciągu &exclude=1 (zamiast tej jedynki wpisz ID strony z podziękowaniami). Podana wyżej linka kodu powinna po przeróbce wyglądać tak:
W razie jakiś wątpliwości proszę śmiało pytać :)



Pierwszy! ;)
A teraz do tematu – dzięki wielkie, chyba zaraz wgram do siebie… ;)
Nie ma sprawy – polecam się na przyszłość :)
#fajne ;)
No ba! Jak by nie było fajne, to bym nie marnował na to czasu ;)
a to już nie „fajne!”? Myślałem, że preferujesz w takich okolicznościach #flaker’ową składnię od tej z #blip’a… ;)
Bardzo pozytywna wtyczka, przetestuje ją również u siebie :) Rozumiem, że podziękowanie wysyłane jest dopiero po zaakceptowaniu komentarza przez administratora? Czy bezpośrednio po kliknięciu „dodaj komentarz” przez użytkownika?
Z tego, co zrozumiałem, to bezpośrednio po wysłaniu – po prostu zamiast z powrotem do wpisu przekierowuje do strony… ;)
Po pierwsze – podziękowanie nie jest wysyłane (na meila), lecz wyświetlane bezpośrednio na blogu. Ciężko by było przy takim rozwiązaniu wyświetlać to podziękowanie dopiero po zaakceptowaniu przez admina.
Ah to tworzy stronę z podziękowaniem, sądziłem, że wysyła również maila ;).
Stronę niestety sam musisz stworzyć… ;)
Jeżeli zależy Ci również na wysłaniu meila, to polecam wtyczkę Comment Relish. Jednak osobiście nie znoszę dostawać meili po skomentowaniu czegoś i generalnie takie wiadomości powodują u mnie poirytowanie :)
Masz racje, jednak wysyłanie podziękowań na meila to jednak kiepski pomysł.
A gdyby tak umieścić na stronie meta-tag z automatycznym przekierowaniem po jednej sekundzie, zamiast klikania w link?
Wyświetliłby się tylko tekst „Dzięki za komentarz” i za sekundę czy dwie wracałoby na wpis.
Widziałeś moją stronę z podziękowaniem? Przy automatycznym powrocie do posta tak rozbudowana strona zachęcająca do przywiązania się na stałe do bloga straciłaby sens.
No w sumie u Ciebie u jest to tak ładnie rozbudowane. Chodziło mi o takie proste strony ze słowem dziękuję i symbolicznym „serduszkiem” ;))
Uzupełniłem post o opis usuwania strony z podziękowaniami z listy stron wyświetlanych w menu. Wrzuciłem też do pobrania nowszą wersję wtyczki, w której łatwo można odczytać ID wybranej strony z podziękowaniami.
Dzięki Łukasz, właśnie głowiłem się nad ukryciem tej strony. W moim przypadku wp_list_pages był w header.php, oczywiście zależy to od danego szablonu. Taki mały tip jeżeli nie wiecie gdzie znaleźć ID strony… podczas jej edycji w pasku adresu przeglądarki widoczny jest ID, u mnie był to numer 1301 ;). Pozdrawiam.
U mnie już jest. Fajnie to działa. :)
Oj, nie można edytować.
Pytanko – co z osobami, które komentowały przed zainstalowaniem pluginu? Dostaną podziękowania za pierwszą wypowiedź po instalacji?
Te osoby już nie zobaczą tej informacji. Wtyczka działa na bardzo prostej zasadzie – sprawdza, czy w bazie danych jest już jakiś komentarz, którego autor użył tego samego adresu email. Jak nie ma – info się wyświetla, a jak jest – nie wyświetla.
Jutro zmieniam wtyczkę! :) Dzięki Łukasz!
PS. W Twojej stronce z podziękowaniem podoba mi się: „A teraz daję Ci drogi Czytelniku dać taki oto wybór: (…)” :)
Nawet nie zauważyłem, że wkradł się w to zdanie jakiś chochlik i strzelił tam kulfona ;) Na szczęście dzięki Banny błąd został szybko poprawiony ;)
A, właśnie, zarzuć się linkiem do swojej stronki powitalnej, ja już stały komentator jestem, więc niestety nie miałem okazji jej zobaczyć… ;)
Link jest podany w poście ;)
Ale niech Ci będzie: http://więcek.pl/dziekuje-za-twoj-komentarz?cid=515
Racja, nie zauważyłem… (a przeskanowałem tekst w poszukiwaniu takiego odnośnika! ;) )
Ciekawe i pożyteczne uzupełnienie :) Trzeba będzie zainstalować u siebie.
U mnie niestety się nie sprawdzi bo korzystam z IntenseDebate :) WP Blipbot też ma z tym problem, mimo, ze to normalnie komentarze przesyła do PA to WP Blipbot nie powiadaomia o nich ;)
IntenseDebate to w ogóle temat na osobny post ;) Ale tak streszczając moje myśli, że to jak widzę na którymś blogu tą kobyłę, to aż mi się odechciewa komentowania ;p
No to wtyczka Thank You jest już oficjalnie dostępna w repozytorium WP: http://wordpress.org/extend/plugins/thank-you/
Świetna wtyczka, dzięki :)
Witam. Ja mam problem ze znalezieniem tej funkcji :( u mnie coś innego się pokazało, więc nic się nie udało. Proszę o pomoc. Dziękuję
O, już sobie poradziłam ;) w niewiedzy swej po prostu wywaliłam wszystko z nawiasu i wkleiłam Twoją podpowiedź – na testowym blogu działa. Idę wstawić na podstawową stronę :) p.s. u mnie ta funkcja była w pliku functions.php
a jakbym chciała ukryć kilka stron, to jak to mam zrobić? wpisać numery po przecinku czy wstawić więcej takich nawiasów?
Wystarczy wpisać kolejne ID stron po przecinku :) Więcej informacji znajduje się w WordPress Codex: http://codex.wordpress.org/Function_Reference/wp_list_pages#Exclude_Pages_from_List :)
Pozdrawiam!
Dzięki za ekspresową odpowiedź :)