Odzyskiwanie danych skasowanych z pendrive – jak to zrobić pod linuksem

W końcu się przytrafiło: zamiast skasować kilka katalogów z pendrive’a skasowało się wszystko 🙂 Nie do kosza, ale na „amen”.

Do skasowania doszło pod Windows, więc najpierw szukałem narzędzi dla tego systemu: bałem się, że wyjęcie pendrive może pogorszyć sytuację. Po sprawdzeniu dwóch, każdy się okazał programem typu „pokażemy ci co skasowałeś, ale za odzyskanie zapłać”. Dałem sobie zatem spokój i przepiąłem pendrive do mojego laptopa.

I teraz krótko jak postępujemy:

Instalujemy foremost, program do odzyskiwania danych:

$ sudo yum install foremost

Podpinamy pendrive i szukamy jego oznaczenia:

$ sudo fdisk -l

(u mnie wyszło, że pendrive ten to /dev/sdb2)

Odzyskujemy (chwilę to potrwa):

$ sudo foremost -i /dev/sdb2 -o ~/odzyskane

Utworzony na dysku katalog z odzyskanymi ma uprawnienia roota, więc poprawiamy to:

$ sudo chmod -R 777 ~/odzyskane

Wułala: w katalogu użytkownika zobaczysz katalog „odzyskane” a w nim wszystko co było na pendrive i nie zostało nadpisane

Jak wyłączyć wkurzające powiadomienia?

Piętro wyżej trwa jak co dzień od rana libacja, za ścianą szczeka znowu pies sąsiadów, na podwórku dzieciaki kopią piłkę, a ja zamiast pracować wciąż to słyszę. Cóż, takie już uroki pracy w domu. Mam na to dawno wypracowaną choć banalną metodę: słuchawki w uszy, włączyć odtwarzacz muzyki i w nim puścić którąś ze stacji radiowych. Najlepiej jakiś ambient, chillout czy choćby muzyka klasyczna. Ważne by grało cicho i nie rozpraszało.

Włączam więc w nowym 11.04 dostarczony wraz z systemem odtwarzacz Banshee. Klikam na radio – lista jest pusta. Hmm, w poprzedniej wersji było sporo predefiniowanych stacji (ale wtedy to był Rhythmbox a nie jakiś Bunshee). Da się przeżyć, poszukałem w sieci jakichś stacji i już gra muzyka.

Wyskakuje mi powiadomienie systemowe o tytule i wykonawcy. Do niczego mi to nie jest potrzebne, ale ok. Znika.

Dziesięć sekund później znów wyskakuje to samo powiadomienie. Ten sam wykonawca, ten sam utwór. Zgrzytam zębami, ale wracam wzrokiem do edytora stron.

Po kolejnych dziesięciu sekundach znów wiem kto i co mi gra. No co jest do licha?

Nie napisałem jeszcze ani jednej linijki kodu i zamiast tego wchodzę na google i wpisuje ‚ubuntu unity how to remove desktop notifications’. Nic nie ma na ten temat.

Dziesięć minut przeklikuję się przez ustawienia Banshee. Jeśli dobrze pamiętam w Rhythmbox była opcja wyłączenia tej chmurki. Tutaj – nie ma.

Dziesięć minut przeklikuje się przez ustawienia Unity i przez CompizConfig. Też nic nie widzę.

Ostateczna desperacja: włączam pomoc systemu. Wpisuję ‚notifications’ (gdyby pomoc systemu Windows była po angielsku, wszyscy by zakrzyczeli Microsoft na śmierć, tutaj jednak muszę potulnie przyjąć to do wiadomości – w końcu nie płacę, nie mogę czepiać się takich drobiazgów). I znajduję jeden rozdział na ten temat:

Małe jednozdaniowe powiadomienie na dole ekranu? Jak kliknę w nie pojawi się większy opis? Chyba czytam opis nie tego, o co mi chodziło. Już pomijam fakt, że nie ma tu ani słowa o tym jak się tego pozbyć.

Chwila. Czy mi się to przypadkiem z czymś nie kojarzy? Ach tak: choć używam Ubuntu z Unity, to instrukcje pozostawiono dla Ubuntu z Gnome Shell 🙂 Ślicznie, Mark, więc jednak Shell jest lepszy? 😉

No nic, wracam do pracy, bo Rhythmbox zdążył mi się już zainstalować i gra tak jak tego oczekuję. I ma od razu listę stacji. Mark, kolejny raz pokazujesz mi, że chyba nie używasz systemu, który sam tworzysz. Po co wkładasz do niego oprogramowanie, które działa jak klocek? Czy naprawdę usunięcie rozpraszającego elementu musi być niemożliwe?

(Uwaga: powyższe to jest opis tylko jednej niedogodności w tylko jednym programie. Jeśli mnie sprowokujecie, wypiszę tutaj całą litanię na temat niedociągnięć każdego piksela tego interfejsu graficznego i zestawu aplikacji out-of-the-box 😉 )

2011 miał być rokiem urządzeń mobilnych. Według mnie nie będzie.

W czasie WordCampu, jaki zorganizowaliśmy w grudniu ubiegłego roku ktoś z prowadzących prezentacje powiedział, że rok 2011 ma być rokiem przełomowym dla urządzeń mobilnych. Jakaś ważna instytucja (przepraszam za ogólniki, ale nie pamiętam na kogo się wtedy powołano) prognozowała, że w tym roku liczba wejść na strony z urządzeń z małym ekranem ma być większa niż liczba wejść z tradycyjnych PC-tów czy laptopów.

Wszyscy się wtedy tym przejęliśmy. Brzmiało to wielce. I kłopotliwie zarazem bo prawdę mówiąc wielu z nas do tamtej pory nawet nie sprawdzało jak nasze strony wyglądają na komórkach.

Za chwilę mamy maj, za dłuższą chwilę minie pół owego przełomowego roku. Postanowiłem więc zajrzeć do statystyk moich stron. Nie są to na pewno do końca wiarygodne dane – nie odwiedza mnie na pewno tak bardzo statystyczny czytelnik jak na przykład czytelnik onetu czy demotywatorów – jednak stron mam kilka i na wszystkich wynik jest zadziwiająco podobny.

Na stu odwiedzających, zaledwie jedna osoba (w porywach do półtorej) łączyła się z urządzenia mobilnego (komórki lub tabletu). A z nich tylko 10% użytkowników podłączyło owe komórki i tablety do sieci za pośrednictwem ery, plusa, playa czy orange.

Gdzie tu jest więc mobilność? Jedna osoba na tysiąc pod koniec kwietnia łączy się z siecią spoza domu i przegląda strony na małym, dotykowym ekranie. W życiu nie uwierzę, że jeszcze w tym roku liczba ta wzrośnie 500-krotnie.

Czyżby kolejna bańka spekulacyjna? Domyślam się, że taka zapowiedź, jaką usłyszeliśmy w grudniu podziałała nie tylko na nas – twórców stron – ale także naszych klientów. Wielu z nich na pewno słysząc podobne słowa zdecydowało się wydać dodatkowe kwoty, tylko po to by nie przegapić tych potencjalnych 50% klientów własnych, którzy będą szukać ich usług mobilnie.

Jak widać – nie będą.

Ale może się mylę. Jak u Was wyglądają statystyki odnośnie odwiedzin mobilnych?

Spece od usability a Wykop.pl

Zawsze miałem podejście do wszelkiej maści specjalistów od usability, mniej więcej takie, że są po prostu niepotrzebni 🙂 Ignorancja moja wynikała z tego, że serwisy internetowe jakie używam są dla mnie po prostu proste w tym używaniu. A jak jakaś strona prosta nie jest, to jej po prostu nie używam. Oba fakty sprowadzają się do właśnie do tego, że błędnie uważałem, że coś takiego jak un-usability nie istnieje, ja tego nie widzę 🙂

Jednak okazuje się, że wystarczy redesign strony, którą często używam, by przekonać się jak bardzo się myliłem.

Chodzi mi tutaj o wykop.pl. Używam go od dawna i działał dla mnie świetnie. Wiedziałem co gdzie jest, miał swoje oczywiście braki, ale spełniał podstawową funkcję: codziennie oglądałem listę stron polecanych przez innych i polecałem je innym, dodawałem komentarz. I tyle.

A teraz? Nie widziałem nikogo, kto by zrobił wow na widok nowej odsłony tego serwisu. Pomijając błędy programistyczne, których jest tam niemożebnie dużo (właściciele chyba umarli bo błędy istnieją bez zmian do dziś i nikt ich nie rusza) to cały interfejs wygląda jakby robiono go z myślą przewodnią „utrudnijmy użytkownikom przeglądanie serwisu tak mocno jak to jest możliwe”. Wprowadzono kompletnie nieprzemyślane grupy (sam pomysł jest OK, ale jego prezentacja do dupy), wszelkie zakładki mają swoje własne zakładki (np zakładka Wykopalisko ma jeszcze cztery kolejne, nie wiem po co i nie mam zamiaru spędzać choć minuty by to rozgryzać), dodano jakiś Mój Wykop (kolejny stream – nie, dziękuję), który zasłania mi coś co lubiłem czyli ostatnie komentarze w obserwowanych.

Do bani. Wykop.pl imo był jednym z ważniejszych serwisów w polskim internecie,, subiektywnie chyba nawet najważniejszym. Dzięki Wykopowi, Diggowi etc uświadomiłem sobie, że dawne Onety, WP i Interie to już jedynie śpiew przeszłości (co same potwierdzają próbując albo wykop skopiować albo poddając się w tym i promując się na nim). Tak ważny serwis, jeśli wprowadza zmiany, powinien robić je z głową, i – niech Wam będzie – radząc się specjalistów od użyteczności, badając rozwiązania na testowej próbie, a nie na wszystkich użytkownikach. Tutaj jednak wygląda to tak, jakby autor serwisu postanowił z jednej strony zrobić jakieś własne widzimisie bez sprawdzenia czy faktycznie ludzie na to czekają, a z drugiej po prostu kopiując bezmyślnie Digga.

Wyszła kupa.

Zieloni chyba nie lubią dzieci z Afryki

Pamięta tu jeszcze ktoś jak prawie dwa lata temu załamywałem ręce nad protestami „ekologów” przeciw nowemu pomysłowi na walkę z malarią? Ja pamiętam. Okazuje się, że zieloni nadal nie robią nic, by zaprzeczyć powszechnemu twierdzeniu, że zwierzę jest dla nich ważniejsze niż człowiek. Tak jak się obawiano na światowym szaleństwie pod tytułem „globalne ocieplenie” ucierpiała w dużej mierze Afryka i walka z malarią, która jest tam problemem o kilka rzędów wielkości większym niż nasza nieśmiała (bo jakaś schowana, ja do tej pory jej nie widziałem) świńska grypa.

Zaczęło się może niewinnie, choć według mnie instrumentalnie: w słynnym czwartym raporcie IPCC na temat zmian globalnego klimatu straszono nas, że jednym ze skutków globalnego ocieplenia będzie zawędrowanie malarii i innych chorób tropikalnych także do Europy (co ciekawe jednym z takich skutków miał być też wzrost prostytucji, ale nie pytajcie mnie jak to wydedukowano). Tak to eksperci z IPCC (a raczej „eksperci”, bo jak wiadomo wyciekły ostatnio informacje na temat tego, jak ów raport powstawał) postanowili skupić na swoim klimatycznym problemie także ludzi zaangażowanych w przedsięwzięcia medyczne jak i religijne (zapewne po to by organizacje katolicke spojrzały przychylniejszym wzrokiem na problem globalnego ocieplenia, umieszczono w owym raporcie nieszczęsne prostytutki).

Powyższe być może i by brzmiało jak jak moje przesadne wieszanie psów na zielonych, ale mam prawo być nieco wkurzony 🙁 Informacjom o zwiększonym ryzyku zachorowań na malarię w Europie zaprzeczył ostatnio sam szef IPCC – Rejendra Kumar Pachauri (nomen omen, kolejarz z wykształcenia) – zwlaszcza gdy został przyparty do muru, po tym jak rypła się cała sprawa z naginaniem faktów podczas tworzenia raportu.

I tak oto na kolejnym polu zieloni wyciągnęli dla siebie jeszcze więcej, nie bacząc na konsekwencje. Problem malarii został potraktowany instrumentalnie jako straszak, a cała heca dla zwalczania malarii zamiast pomóc – zaszkodziła. W ostatnio opublikowanym dorocznym liście Billa Gatesa (jako prezesa Fundacji, a nie Microsoftu) zauważył on, że zwiększone nakłady na finansowanie akcji ekologicznych udały się właśnie dzięki zmniejszeniu finansowania inicjatyw zdrowotnych, w tym badań nad szczepionką przeciw malarii. Krótka kołderka okazała się zbyt krótko, co zresztą było do przewidzenia: w większości krajów (jeśli nie we wszystkich, na pewno tak jest w Polsce) finansowanie wszelkich akcji pomocowych i rozwojowych, czy to ekologicznych czy też zdrowotnych odbywa się z tej samej puli pieniędzy w budżecie. Idę o zakład, że w ubiegłym roku drastycznie wzrosła w Polskiej Pomocy ilość wniosków o dofinansowanie akcji związanych z walką z globalnym ociepleniem.

I co dalej? I nic. Ekolodzy nadal będą twierdzić, że robi się coraz cieplej (co zresztą jest chyba prawdą, bo dziś w nocy było -33 stopnie, a teraz jest już tylko -21, a jutro ma być jeszcze „cieplej”), będą robić dobrą minę do złej gry. Badania nad szczepionką przeciw malarii na pewno zostały spowolnione i tyle. Bez pośredni związek między ekologiczną farsą a owym spowolnieniem jest trudny do udowodnienia, zatem ekolodzy będą spać spokojnie. Fakt faktem, że w Afryce nadal statystycznie co 30 sekund umiera jedna osoba na malarię. Szkoda.

* * *

To nie jest mój pierwszy wpis o malarii i jeśli ktoś chce o niej poczytać więcej, zapraszam do lektury artykułu niemalże pod tytułem „wszystko co wiem o malarii”. Lub też na stronę Centrum Informacji Medycyny Podróży, zwłaszcza jeśli ktoś już teraz planuje wyjazd na wakacje do ciepłych krajów. Malaria w Polsce nam nie grozi (choć… ale może o tym innym razem), jednak jeśli ktoś wybiera się do ciepłych (pamiętajcie: coraz bardziej ciepłych) krajów, już teraz powinien myśleć i szczepieniach przeciw chorobom tropikalnym i lekach antymalarycznych (szczepionki przeciw malarii jak wyżej wspomniałem nie ma i jeszcze jakiś czas nie będzie, ale można stosować inną profilaktykę: tabletki, repelenty, moskitiery czy odpowiednie zachowanie minimalizujące ryzyko zachorowania na malarię).

Błąd ciasteczek w WordPressie

Uff, jestem właśnie po 4 godzinach kodowania mojego pluginu do WordPressa. Już zrobione, co miało być zrobione, ale nie mam siły aktualizować dokumentacji. Zrobię to rano i dlatego póki co stronę z pluginem ukrywam na razie.

Ale ja nie o tym. Większość kodowania to było tak naprawdę grzebanie po necie czemu coś, co na Codeksie jest opisane, że działa, tak naprawdę nie działa.

Od jakiegoś już czasu podejrzewałem, że WordPress ma problemy z obsługą cookies i właśnie wyszło mi to na jaw. Jeśli ktoś z Was też zauważył lub zauważy, że ciasteczko wstawione przez setcookie() tak naprawdę nie istnieje, to mam rozwiązanie:

W WordPressie gdy wstawiamy ciasteczko musimy podać także parametry „path” i „domain”. Dziwne, ale naprawdę wtedy zaczyna to działać jak należy 🙂

Zatem zgrabny (i przenośny) kod wstawiający ciastko dla WordPressa powinien wyglądać:

setcookie('nazwa ciastka', 'wartość', 'czas życia', "/", str_replace('http://www','',get_bloginfo('url')));

I tyle. Działa, ale ile się musiałem naszukać 🙂 No ale przecież ja to lubię 😉

Tworzenie pluginów do WordPressa – tutorial

Zauważyłem, że w sieci jest jakoś wyjątkowo mało poradników jak tworzyć pluginy do WordPressa, szczególnie po polsku (taki jest chyba tylko jeden). No to jest okazja by o czymś napisać 🙂 Bo tak się składa, że wczoraj w ramach ćwiczeń napisałem sobie taki prosty plugin od zera. Teraz popatrzcie jak to zrobiłem i przy okazji nauczcie się sami 🙂

Założenia: robimy plugin wykopowy

Plugin ma być maksymalnie prosty (w końcu to nasze pierwsze dzieło), bez nadmiaru kodu. Plugin będzie dodawał pod naszymi wpisami odnośnik, który po kliknięciu doda naszą stronę do Wykopu. Dokładniej: wyświetli nam wykopową stronę dodawania z wypełnionymi już polami na odnośnik, tytuł i krótki opis.

Tworzymy plik .php

Utwórz katalog oraz plik .php wewnątrz jego. Katalog i plik powinny (ale nie jest to konieczne) nazywać się tak samo jak nasz plugin; poszczególne wyrazy w nazwie powinny zostać rozdzielone myślnikami. Konwencją jest także rozpoczynanie nazwy pluginu od literek „wp”.

Mój plugin będzie się nazywał „WP Wykop by Muzungu”. Dlatego też utworzyłem katalog o nazwie ‚wp-wykop-by-muzungu’, a w nim plik ‚wp-wykop-by-muzungu.php’.

Tworzymy opis naszego pluginu

Opis pluginu umieszczamy w naszym pliku .php jako komentarz. Wygląda on mniej więcej tak:

<?php
/*
Plugin Name: WP Wykop by Muzungu
Version: 0.1
Description: Automatically Adds <strong>"Wykop To" button to your posts.
Author: Konrad Karpieszuk
Author URI: http://www.muzungu.pl/
Plugin URI: http://www.muzungu.pl/
*/

Co się stało się? W każdej linijce mamy pewien fragment opisu. I tak:

Plugin Name – to nasz nazwa pluginu.

Version: wersja pluginu w zapisie z kropką oddzielającą podwersje

Description: opis naszego pluginu. Jak widać w przykładzie powyżej możemy w nim użyć tagów HTML

Author: Imię i nazwisko autora pluginu, lub nazwa firmy, która go stworzyła.

Author URI: Odnośnik do strony WWW autora (bloga, profilu na Naszej Klasie… 😉 )

Plugin URI: Tu wpisujemy odnośnik do strony, na której plugin będzie opisany.

Sprawdzamy czy nasz plugin został zainstalowany w odpowiednio nowej wersji WordPressa

Właściwie to nie musiałem tego robić, bo ten plugin jest bajecznie prosty i zadziała pewnie nawet w starym WordPressie. Ale podaję jak to się robi, bo może w przyszłości sam stworzysz plugin, który będzie korzystał tylko z najnowszej wersji API tego systemu blogowego.

Oto jak to się robi. W tym samym pliku wpisujemy poniżej:

/* Version check */
global $wp_version;

$exit_msg = 'WP Wykop by Muzungu requires WordPress 2.5 or newer.
			<a href="http://codex.wordpress.org/Upgrading_WordPress">
			Please update!</a>';

if (version_compare($wp_version, "2.5", "<")) 
{
	exit($exit_msg);
}

I tak po kolei, w linii 11. wpisaliśmy w postaci komentarza co robi poniższy kod (to jeden ze standardów kodowania pluginów dla WordPressa: każdą funkcję dokładnie okomentuj, tak aby potem inni mogli ją sobie łatwo przerobić bez zbędnego zagłębiania się w kod).

Następnie w linii 12. wywołujemy zmienną globalną $wp_version, w której przechowywana jest informacja o zainstalowanej wersji WP.

W 14 linijce tworzymy string, który przechowuje komunikat błędu, jaki się pojawi użytkownikowi, jeśli spróbuje nasz plugin zainstalować w zbyt starej wersji WordPressa.

Linie 18-21 to instrukcja warunkowa sprawdzającą wersję WP z wersją wymaganą przez nas (tutaj: 2.5) i jeśli warunek nie jest spełniony, instalacja kończy się wyświetleniem komunikatu, który stworzyliśmy przed chwilą.

Tworzymy kod odnośnika do Wykopu

Następnie musimy stworzyć kod HTML odpowiedzialny za wyświetlenie odnośnika do strony dodawania do Wykopu, w taki sposób, aby od razu zostały przekazane do niej informacje o adresie naszego wpisu, tytule i jego treści. Zrobimy to tworząc funkcję o nazwie WPWykopTo_Link().

Przyjrzyjmy się jednak najpierw jak wygląda odpowiedni odnośnik. Musi on nas kierować do strony http://www.wykop.pl/dodaj i przekazywać parametry metodą GET (czyli dokleić je do adresu strony) takie jak „url”, „title” oraz „desc”.

Zatem do dzieła.

/* Show a Wykop To Link */
function WPWykopTo_Link () 
{
	global $post;
	// get the URL to the post
	$link = urlencode(get_permalink($post->ID));
	
	// get a post title 
	$title = urlencode($post->post_title);
	
	// get first 350 characters of post and strip it off
	// HTML tags
	
	$text = urlencode(substr(strip_tags($post->post_content), 0, 350));
	
	// create a Wykop To link and return it
	
	return '<a href="http://www.wykop.pl/dodaj?url='.$link.'&title='.$title.'&desc='.$text.'">Wykop To</a>';
	
}

OK, znów lecimy po kolei i sprawdzamy co zrobiliśmy:

Linia 26: wczytujemy kolejną globalną zmienną, dostarczoną nam prez silnik WordPressa. $post zawiera w sobie wiele informacji o aktualnie przetwarzanym/wyświetlanym wpisie blogowym.

W linii 28. wywołujemy funkcję dostarczoną przez WP get_permalink(), która pobiera stały odnośnik do wpisu. Funkcja operuje tutaj na zmiennej $post->ID (czyli pobiera odnośnik do wpisu o określonym identyfikatorze). Odnośnik „urlenkodujemy” (przetwarzamy tak, aby bezpiecznie się wyświetlił jako parametr w innym URLu) i przypisujemy do zmiennej $link.

Linia 31 przypisuje do zmienne $title tytuł wpisu wyciągnięty z metody „title” obiektu $post. (nie znoszę programowania obiektowego)

W linii 36. na pierwszy rzut oka dzieje się wiele. Na drugi rzut oka jednak łatwo zauważymy, że wszystko co się stało, to pobraliśmy z obiektu $post treść naszego wpisu, usunęliśmy z niego znaczniki HTML, przycięliśmy do długości 350 znaków, także „zurlenkodowaliśmy” i przypisaliśmy do zmiennej $text. Proste? Proste! 🙂

Linia 40 to już banał. Zwracamy w niej kod HTML odpowiedzialny za wyświetlenie odnośnika do Wykopu. W czasie tego zwracania w odpowiednie miejsca podstawiamy nasze zmienne $link, $title i $text, tak aby utworzyły prawidłowy odnośnik dodający.

Doczepiamy nasz link do końca treści wpisu

Kod HTML utworzony, czas więc go doczepić do końca treści naszego wpisu:

/* Add Wykop To link to the end of the post */
function WPWykopTo_ContentFilter ($content) {
	return $content.WPWykopTo_Link();
}

Tutaj kod jest krótki. Tworzymy funkcję o zagmatwanej nazwie WPWykopTo_ContentFilter(), która pobierze parametr $content i doklei na jego końcu wynik działania naszej poprzedniej funkcji (czyli WPWykopTo_Link(), czyli kod HTML odnośnika do Wykopu). I tyle.

Informujemy WordPress aby użył naszego filtra

WordPress na tym etapie sam z siebie nie wie jeszcze, że jakaś funkcja już istnieje i przerabia treść wpisów w ten sposób, że dokleja na ich końcu odnośnik do Wykopu. To bardzo dobrze, bo pozwala nam to, teoretycznie (teoretycznie, bo w tym tutorialu nie pokaże jak to się robi; może w następnym rozdziale) na przykład dokleić odnośnik do Wykopu tylko do wpisów wyświetlanych na pojedynczych stronach. Ale w naszym przypadku chcemy aby link był dkolejany do wszystkich wpisów bez wyjątku.

Aby to sprawić używamy tak zwanych „haków” (ang. „hooks”). Haki „podczepiają” nasze funkcje pod silnik WordPressa. W kodzie WordPressa co rusz wpisane są funkcje sprawdzające czy w danym momencie jakiś plugin nie chciałby zmodyfikować działania owego silnika. Jeśli znajdzie taki plugin z odpowiednią instrukcją „hakującą”, pozwala mu zadziałać.

Haki są dwojakiego rodzaju.

Są haki podczepiane w momencie wykonania jakiegoś działania (action) przez WordPressa. Na przykład gdy zarejestruje się nowy użytkownik, gdy ktoś opublikuje nowy komentarz, lub gdy ktoś zamieści nowy wpis. Lub… przykładów jest bardzo wiele. Za zamieszczenie takiego akcyjnego haka odpowiada funkcja add_action(). Jednak teraz jej nie użyjemy.

Są też haki podczepiane w momencie wczytywania strony, których zadaniem jest przefiltrowanie tego, co silnik WordPressa właśnie wypluwa i zmodyfikowanie tej wyplutej zawartości. Takiego właśnie haka teraz użyjemy – chcemy bowiem wyplutą przez WordPressa treść wpisu zmodyfikować tak, że zanim pojawi się ona w przeglądarce odwiedzającego, doklejony do jej końca zostanie nasz wykopowy link. Za przefiltrowanie wordpressowego wyziewu odpowiada funkcja add_filter() i to jest właśnie moment gdy jej użyjemy.

Tutaj kod będzie bajecznie prosty i krótki:

add_filter('the_content', 'WPWykopTo_ContentFilter');
?>

Jak widać funkcja add_filter przyjmuje dwa parametry.

Pierwszy z nich to wskazanie co ma zostać przefiltrowane. W naszym przypadku filtrujemy treść wpisu, więc piszemy tutaj ‚the_content’. Pełna lista rzeczy, które można filtrować znajduje się tutaj.

Drugi parametr mówi funkcji jaka nasza funkcja ma zostać zastosowana do filtrowania zawartości pierwszego parametru. Dlatego wpisaliśmy tutaj nazwę naszej funkcji filtrującej ‚WPWykopTo_ContentFilter’.

I tyle, to już koniec naszego plugina.

Instalujemy plugin

Powyższe plugin na pewno działa. Ja już to sprawdziłem, a jeśli Ty też chcesz sprawdzić, utworzony na początku katalog ‚wp-wykop-by-muzungu’ wgraj do WordPressa w lokalizacji /wp-content/plugins. Następnie przejdź do panelu administracyjnego WordPressa. wybierz tam Plugins > Installed. Na liście pluginów zobaczysz swój plugin. Jeszcze on nie działa.

Aby zadziałał, musisz kliknąć obok niego napis „Activate”. Jeśli nie używasz WordPressa starszego niż 2.6, aktywacja na pewno się powiedzie. Przejdź teraz na stronę swojego bloga, a zobaczysz pod każdym wpisem mały, którki napis „Wykop To” 🙂

Zobacz też

Jest już dostępny rozdział drugi tego tutorialu.

Chcesz nauczyć się więcej?

Nie ma sprawy. Bardzo chętnie napiszę kolejne rozdziały, ale… gdy sam nauczę się czegoś nowego. 🙂 Jeśli chcesz to przyspieszyć, pomóż mi spełnić moje małe marzenie 🙂

A marzy mi się książka Vladimira Prelovaca WordPress Plugin Development – Beginner’s Guide. Kosztuje jednak prawie 30 euro plus koszty wysyłki.

Jeśli chciałbyś dołożyć złotówkę do niej (lub więcej):
– prześlij mi pieniądze przez paypal. Mój adres email w paypalu to selpod@gmail.com
– jeśli nie masz konta w paypalu, kopsnij mi kaskę na konto w mBanku. Mój numer konta: 21114020040000350230107505, a ja się nazywam Konrad Karpieszuk 🙂
Przelane pieniądze oznacz jakoś tak abym wiedział, że to na książkę 🙂 Jak chcesz pochwal się w komentarzu pod wpisem ile przelałeś 🙂