Zapewne znasz wtyczkę do WordPressa o nazwie Related Posts. Ja też takową znam i używam jej gdzieniegdzie. Przy jej pomocy, możemy przy każdym wpisie do wordpressa wyświetlić linki do podobnych wpisów.

Ostatnio jednak, wpadłem na mały pomysł by trochę udoskonalić zamierzenie realizowane przez tą wtyczkę. Co by było gdyby linkować podobne wpisy na innym blogu (np. wstawić linki pod artykułami w założonym katalogu pressell page do podobnych artykułów na Twoim blogu)? Co by było gdyby ze swojej strony opartej na zupełnie innym mechaniźmie niż wordpress linkować podobne do niej tematycznie wpisy z bloga?

Zamiast się zastanawiać co by było, zwyczajnie to zrobiłem. Poniżej krótki opis.

Aha, jak zwykle muszę dodać, ze programistą nie jestem i poniższe skrypty można było 100 razy lepiej zrobić – jest w nich także masa błędów. Mogą one także wymagać pewnych poprawek i modyfikacji w zależności od instalacji wordpressa (poniższy skrypt, powinien działać dla wersji 2.3, dla innych może istnieć potrzeba zmodyfikowania zapytania do bazy MySQL – lub całego pliku wpl.php). Ponadto plik zawierający zapytania do bazy, może wymagać pewnych zabezpieczeń – tak więc używając robisz to na swoją własną odpowiedzialność. W każdym więc razie, dzisiejszy wpis tylko dla tych orientujących się odrobinę w php.

Opis działania:

Na samym początku potrzebujemy pliku na serwerze z blogiem, który wyświetli nam podobne wpisy. Zrobiłem taki jeden mały: wpl.txt

Do tego pliku odwołujemy sie podając jedną zmienną, która zawiera słowa kluczowe oddzielone przecinkami, przykładowo:

http://mojblog.lp/wpl.php?keys=kaczka,kura,droga,ostroleka

Plik zwraca nam dane w postaci małego pliku tekstowego, w takim formacie:

url do wpisu 1;tytuł wpisu 1
url do wpisu 2;tytuł wpisu 2
itd.

Przechodzimy do drugiej połowy, a więc wyświetlania linków.

Teraz potrzebujemy miejsca, gdzie będziemy wyświetlać podobne wpisy, a więc innej strony www*, z obsługą php rzecz jasna.

Na tą stronę przygotowałem kolejny plik wplwstaw.txt.

Po wgraniu tego pliku, należy stworzyć katalog „linki” i nadać mu odpowiednie prawa zapisu chmod 777. W tym katalogu będą zapisywane na jakiś ustalony czas pliki zawierające linki, by skrypt nie musiał się za każdym razem odwoływać do innego serwera – taki mały cache.

Teraz trzeba w zmiennej $keys zapisać jakoś słowa kluczowe (tu niestety instrukcji nie podam, bo dla kazdego CMS’a trzeba to wykonać inaczej). W każdym razie wyglądać to ma tak:

$keys=’kaczka,kura,droga,ostroleka’;

No i zaincludować w odpowiednim miejscu powyższy plik.

include 'wplwstaw.php;

* Można przykładowo wykorzystać stronę sklepu z EscPartners. Do pliku include/item_long.php, doklej taki fragment na końcu (zamiast słów kluczowych użyjemy słów, użytych w tytule wybranej książki – książek jest tak dużo, że zdaje się na każdy temat powinna znaleźć się przynajmniej jedna podstrona na której zostaną umieszczone linki do danego wpisu):

$keys=strtolower($item_info[’title’]);
$tablica[’ ’]=’,’;
$tablica[’.’]=”;
$tablica[’?’]=”;
$tablica[’!’]=”;

$keys=strtr($keys, $tablica);
include 'wplwstaw.php’;

PS: Z tego co się orientuję, dobrze by było jeszcze jakoś rozwiązać problem polskich znaków (znaczy się pozbyć się ich w słowach kluczowych).