yashke.com

Janu @ January 27th, 2007

Instalacja pluginu do OpenID

Obiecałem tutoriala o instalowaniu plugina OpenID do Wordpressa, więc chcąc być słownym napisałem ten właśnie tekst. Początkowo miał on zawierać jakieś screenshoty, ale ostatecznie z uwagi na prostotę procesu uznałem, że wystarczy opis słowny.

Pierwsza rzecz, którą należy zrobić to ściągnąć tego plugina ze strony VerseLogic. Jest to projekt umieszczony na sourceforge.net, więc można ściągnąć owo paskudztwo z wielu różnych mirrorów.

Drugi, godny pominięcia krok to po prostu rozpakowanie ściągniętego pliku do katalogu wp-content/plugins/ naszego bloga.

Skoro plugin jest już we właściwym miejscu, to należy go aktywować - wchodzimy do wordpressowego panelu administratora i tam w zakładce Plugins klikamy przy odpowiednim pluginie na activate. I tu dzieje się coś niebywałego - plugin zostaje aktywowany, ale jeszcze nie działa! Aby go aktywować w sensie dosłownym należy wejść do zakładki Options, a w jej submenu pojawi się opcja: OpenID. Należy w nią wejść, a tam ukaże nam się formularz z kilkoma checkboxami - osobiście podczas instalacji miałem odznaczone wszystkie, nic jednak one zmieniły oprócz dodania do formularza do logowania pola dla OpenID - automatyczna zmiana template’a (tj. dodanie np. do formularza komentarzy pola OpenID) jest niemożliwa, jeśli nie jest on jednym z kilku standardowych.

Ostatni krok polega na zmianie template’ów, tak by zawierały pola do wpisywania OpenID - otworzyć należy template Comments, bądź inny, który zawiera pole do wpisywania komentarzy. Tam ważne są dwa fragmenty kodu - jeden odpowiedzialny za potrzebe logowania, gdy chce się dodać komentarz, a drugi zawierający formularz do wpisywania komentarzy, gdy jest się niezalogowanym i można w takim stanie dodawać komentarze (wg uprawnień ustawionych w Wordpressie). Należy zatem znaleźć takie fragmenty kodu:

  1. <?php if ( get_option('comment_registration') && !$user_ID ) : ?>
    Po nim powinna widnieć informacja (w czystych HTMLu), że aby komentować należy się zalogować. Poniżej tej informacji możemy umieścić formularz do logowania przez OpenID. Formularz powinien rzucać dane na akcję: <?php echo get_option('siteurl'); ?>/wp-login.php?redirect_to=<?php the_permalink(); ?>, gdzie oczywiście siteurl to opcja trzymająca wstępny URL naszego bloga, a the_permalink(); zwraca permalink do danej notki. Formularz powinien zawierać jedno pole, o atrybucie name równym: openid_url. Oprócz tego przydałby się oczywiście jakiś submit, ale to już wszystko kwestia estetyki - najważniejsze to, żeby pamiętać, że pole do wpisywania OpenID musi mieć nazwę openid_url.
  2. <?php else : ?>
    Ten else jest alternatywą dla następującego ifa: if ( $user_ID ). Wewnątrz tego else’a powinny znajdować się pola formularza do w miarę anonimowego dodawania komentarzy (tj. do dodawania komentarzy bez logowania). Należy dodać pole tekstowe do tego formularza, które nazywać się będzie openid_url.

Plugin VerseLogic dostarcza również obrazek charakterystyczny dla logowania OpenID - przekreśloną strzałkę (przynajmniej tak to interpretuję). Można się do niego dobrać poprzez stałą OPENIDIMAGE, która zawiera ścieżkę bezwzględną do tego obrazka (w sensie adresowania URL).

To chyba wszystko - instalujcie plugin u siebie, lansujcie OpenID i żyjcie szczęśliwie.

Tagi:

16 Komentarzy do “Instalacja pluginu do OpenID”

  1. Kamil Nicieja napisał:

    Niedługo będę instalował plugin do OpenID na swoim blogu, dzięki za poradnik. Jak coś (prawie na pewno) zepsuję to zaglądnę ponownie.

  2. =marcin napisał:

    zapomniałeś chyba dodać, że na sourceforge jest starsza wersja plugina. trzeba ją pobrać, a potem “na nią” zainstalować wersję z svn.

    http://blog.identity20.pl/2007/01/12/wordpress-i-openid/

    tu jest trochę informacji na ten temat. ja się słabo znam na php, a jest np. taki problem, że jak komentarz trafia do moderacji, nie pojawia się standardowy komunikat o tym (dla usera). komentarz jakby “znika”. jest też coś takiego (można to na http://nettoblog.com/ zobaczyć), że ostatnio dodane komentarze (po prawej) nie zawierają tych podpisanych przez openid.

    gdyby to się udało Ci poprawić, byłoby super.

  3. =marcin napisał:

    no i właśnie miałem to, o czym pisałem: za dużo linków w komentarzu, nie dostałem żadnego info, komentarz zniknął…

  4. janu napisał:

    W wolnej chwili, np. po sesji rozejrzę się po źródle, może uda mi się znaleźć rozwiązania dla tych błędów.

  5. Cthulhu napisał:

    Strasznie dużo kombinowania, edytowania.. A to taki szybki test.. ;)

  6. http://normanos.openid.pl/ napisał:

    a może mi ktoś powiedzieć co należy ustawić aby zamiast login.openid.pl pojawiał się sam nick podlinkowany do strony?

  7. yashke napisał:

    Chyba trzeba ustawić swój pseudonim na OpenID, choć pewności nie mam.

  8. http://normanos.openid.pl/ napisał:

    ustawiłem i realname i nickname i website i blog i wszystko co by mogło na to wskazywać i nic. Słaby help ma openid.pl, wiele tam znaleźć nie można.

  9. janu napisał:

    Jeszcze jedną rzecz zauważyłem - jak się już raz przekaże dane z serwera openID, to później ich zmiana na tym serwerze nie zostaje zauważona na stronie z logowaniem openID - ja początkowo nie miałem wpisanych żadnych danych i skrypt wyświetlał mnie jeszcze gorzej niż Twoje http://normanos.openid.pl/. Może przyszłość przyniesie poprawę ;)

  10. =marcin napisał:

    nie ma helpu, bo to powinien być help do plugina wordpressowego, nie do openid.pl. openid.pl tylko przekazuje dane, a co wp z nimi robi, na to nie mamy wpływu.

  11. =marcin napisał:

    a odpowiedź na pytanie brzmi: wejść do admina wordpressa i ustawić. być może autor plugina uznał, że podawanie imienia/nazwiska przy komentarzu może nie być brane pod uwagę przez komentującego.

  12. janu napisał:

    Nie wiem gdzie to ustawić. Nie znalazłem odpowiedniego pola, możem ślepy… ;/

  13. normanos napisał:

    wcieło mi 2 razy komentarz :/

  14. normanos napisał:

    o teraz się pojawił, a więc małe wyjaśnienie:

    - Marcin źle zasugerował, nie szukaj. Rozwiązanie to umieszczenie odpowiednich wpisów w meta na swojej stronie www, a następnie logowanie się do opeinid po _adresie_ tej strony, a nie loginie w opeinid. Jak widać działą.

    - chyba ten WPowski plugin ma jakieś braki bo już na 2 różnych blogach po wpisaniu komenta, przekierowaniu na logowanie w opeinid i powrocie komentarz się traci a WP od nowa prosi o login ?!?

  15. Livio napisał:

    To to w ogóle ma zamiar działać? Pobrałem to, to się nie pojawiło na liście wtyczek.
    Nadpisalem plikami z SVN i dalej to samo.
    WordPress 2.1

  16. janu napisał:

    Ma zamiar, nawet działa dość dobrze. Ja początkowo też miałem problem - ściągnąłem stamtąd plik i nadpisałem źródłami z SVNa - i wtedy przestało działać. Bez nadpisania jednak działa. Nie wiem co może być problemem…

Skomentuj ten wpis!