Kminek.pl – reaktywacja

Strona kminek.pl w przeglądarce Google Chrome

Na pierwszy rzut oka nie zmieniło się wiele – ale to tylko pozory. Relacja z migracji serwisu do najnowszej wersji WordPressa i opis zmian, które zaszły.

Changelog – czyli co się pozmieniało

  1. upgrade WP do najnowszej wersji (2.8 w chwili pisania tego tekstu)
  2. skórka obsługuje już nowy system komentarzy (wątki i dynamiczny formularz)
  3. separacja komentarzy i pingów w zgrabne zakładki (obsługiwane oczywiście przez Yetii)
  4. nowa strona Archiwum z kompletną listą wpisów
  5. w Archiwum znajdziecie też historyczne ankiety
  6. półprzezroczyste dymki (ang. tooltips) na linkach i innych elementach strony
  7. wszędzie hula już również lepsza paginacja dzięki WP-PageNavi
  8. obok standardowych dat pojawiają się także relatywne (np. 2 minuty temu)
  9. do życia powraca box Oferty pracy
  10. trochę życia postanowiłem także tchnąć w sekcję Znalezione w Sieci – teraz Wy możecie wrzucać tam swoje treści za pomocą tego formularza
  11. zaadresowałem też większość problemów, na które zwrócił uwagę Jarek w tym komentarzu (np. teraz kliknięcie na flashowe logo kminek.pl z wciśniętym klawiszem Ctrl otworzy stronę główną w nowej zakładce, treści w sidebarach już „nie skaczą”)

Migracja

Kminek zadebiutował w Sieci pod koniec 2007 roku. W owym czasie moja wiedza na temat WordPressa była na pewno znacznie mniejsza niż obecnie, zwłaszcza w zakresie rozszerzania domyślnej funkcjonalności WP poprzez pisanie własnych wtyczek. Negatywne konsekwencje tej ograniczonej wiedzy przejawiały się głównie tym, że:

  • część funkcjonalności działała tylko dlatego, że zmodyfikowałem pliki źródłowe WP
  • strasznie dużo logiki strony i kodu PHP znajdowało się bezpośrednio w plikach szablonów, które w skutek tego nadmiernie się rozrosły

Na domiar złego, już w trakcie działalności serwisu dorzuciłem parę rzeczy, które niestety wpisywały się w schemat z powyższych dwóch punktów. Jakoś po wyjściu WP 2.7 postanowiłem przejrzeć cały kod witryny i przepisać go na nowo, wrzucając całą niestandardową funkcjonalność do wtyczek. Był to dosyć żmudny proces ale w końcu udało się.

Chciałem mieć również „czystą” bazę danych więc postanowiłem nie robić aktualizacji starej (w której znajdowało się dużo śmieci ze starych pluginów) ale stworzyłem zupełnie świeżą bazę i zaimportowałem do niej treść w postaci WordPressowego pliku XML wyeksportowanego ze starej instalacji.

Generalnie przy takim postępowaniu trzeba mieć na uwadze parę rzeczy. Przede wszystkim po imporcie niestety zmieniają się ID kategorii. Więc jeśli w szablonach mamy np. coś takiego:

  1. if ( is_category(7) ) echo 'Kminek Blog';

no to po imporcie oczywiście to nie będzie działać bo ID kategorii się zmieniło. Jak przezwyciężyć ten problem i nie poprawiać za każdym razem wszystkich szablonów? Ja po prostu zastosowałem stałe PHP, które wrzuciłem w plik wp-config.php np.:

  1. define('KMINEK_BLOG_ID', '20');

a później w szablonach należy już tylko konsekwentnie odnosić się do stałej:

  1. if ( is_category(KMINEK_BLOG_ID) ) echo 'Kminek Blog';

Z tego co zauważyłem, nie eksportują się także pola typu excerpt dla postów. Natomiast wszystkie custom fields i komentarze/pingi eksportują się poprawnie.

Co ciekawe, podczas importu pliku XML do nowej instalacji WP zapyta czy zaimportować także wszystkie załączniki (obrazki w postach to przecież załączniki). Jako, że wersję testową nowego kminka miałem w innej domenie, WP po prostu ściągnął obrazki z kminek.pl i wrzucił je do katalogu uploads w nowej lokalizacji (fajny feature). Oczywiście informacje o załącznikach pojawiły się też w bazie.

Z grubsza było by to na tyle. Mam nadzieję, że po tych pracach konserwacyjnych artykuły na kminku będą pojawiać się częściej :)

Czytaj więcej:
Kminek Blog
Tagi:
,
  1. Piotr 1

    Dlaczego logo jest we Flashu, skoro nie dzieje się żadna akcja związana z koniecznością użycia tego elementu?

Leave a Reply to Grzegorz Wójcik Cancel reply

 
 

Dozwolone tagi HTML: <strong> <em> <a href="" title=""> <code> <pre lang=""> <blockquote cite="">

Komentarze są moderowane. Mile widziane wpisy wnoszące nowe, ciekawe informacje do omawianego tematu
lub sygnalizujące ewentualne błędy merytoryczne. Wszelkie przejawy spamu lub nieetycznego zachowania bedą
karane blokadą adresu IP/domeny.