after.design

My way for My life...

Wordpress - głos na nie.

Jestem webdeveloperem od dwóch lat. Zajmuję się mniejszymi lub większymi projektami. Używam głównie php i pythona. Przy php używam Zend Frameworka (od wersji 0.2 bodajże). W pythonie piszę inne aplikacje związane z webdevelopingiem, obecnie zbieram się do zabawy z django (tylko chęci brak).
Od pewnego czasu zajmuję się także mocno zagadnieniami związanymi z SEO.

To taki mały wstęp i jednocześnie moja jedyna obrona na te wszelkie złe myśli osób które zapewne stwierdzą że kolejny bredzący wpis o gównianości wordpressa.
Jednocześnie chciałbym napisać że ten wpis, ta opinia nie może zabrać wordpressowi jednego argumentu. Jakiego ? Oczywistego. Wordpress działa. Działa jakoś, ale swoje zadanie jakoś spełnia.

Ale zaczynając powoli i od początku.
Wiele osób stwierdza że wordpress jest fajny i cudny ponieważ ma wiele opcji. Można zrobić wiele praktycznie nie znając się na tym. Chcemy nowy piękny template robimy mały upload plików i już możemy sie cieszyć nowym wyglądem swojej strony. Wszystko super, jednak ja mam kilka achów i ochów.
Zaczynają od instalacji wordpressa. Przebiega ona łatwo i bezboleśnie w sumie. W sumie nie ma przecież się czego doczepić. Ja jednak sądzę że już przy instalacji można się doczepić. Doczepić można się banału. Wpisywanie hasła do bazy. Pole takie jest zwykłym polem typu input (screen).
Jest to przecież jedna z podstawowych zasad do złamania. Wystarczy że więcej niż jedna osoba ma dostęp do tego komputera, wystarczy odpalić podobny instalator i już możemy poznać hasło, które zapewne jest często używane.
Już nie wspomnę że ktoś może stać za plecami i sobie zwyczajnie i legalnie przeczytać wasze hasło.

No ale dobrze. Powiedzmy że wyczyściliśmy wszelkie prywatne dane w przeglądarce i jesteśmy cholernie bezpieczni. Ok. Przejdźmy więc do tych super łatwo instalowalnych templatów. I tak oto tu się czepiam kolejnej części super userfriendly. Czepię się dodanych w którejś wersji widgetów i zmiany koloru i obrazku nagłówka (screen #1 i screen #2).
No tak wszystko śliczne, konfigurowalne i piękne. Czego można się tu doczepić ?
Właśnie tej konfigurowalności. Przejrzałem kilka tematów dla wordpressa i muszę powiedzieć że opcję zmiany obrazka i/lub koloru loga znalazłem tylko w oryginalnym temacie, dostarczanym razem z wordpressem. Ale w tym temacie wszystko pięknie działa.
Niestety problem się pojawia gdy bierzemy nam super hiper pasujący temat z innej strony. Wchodzimy, zmieniamy i się nagle okazuje że trzeba grzebać w kodzie plików, bo temat jest w żaden sposób nieprzystosowany do tego co chcieli osiągnąć deweloperzy zajmujący się worpdressem. (screen)
No i szukamy czegoś kolejnego z nadzieją że będzie działać. I tak do skutku.

W końcu znaleźliśmy wymarzony działający templejt i zabieramy się do upragnionego blogowania.
I tak oto naszego bloga zindeksował pięknie wujek google, cieszymy się odwiedzalnością i bum. Kolejny problem się pojawia: boty spamerskie. Zalewają naszego bloga tonami reklam. Co robimy ? Szukamy wtyczki.
Zapewne znajdziemy re-captcha i na szybko wstawiamy do naszego bloga i nagle kolejny problem. Nasza wtyczka nie działa z tematem. Więc znów szukamy super tematu, bo przecież zmiany są potrzebne. Ok. Znaleźliśmy, działa wszystko.
Tylko nam coś nagle zjada transfer na naszym cennym i ciężko opłacanym serwerze. Część to boty, które się odbijają od captchy a część do google. I tak oto kombinuje się i kombinuje, żeby działało i żeby nam dało spokój.
No i jeszcze ludzie narzekający na captche której nie da się odczytać. Na co to komu ?


Tyle odemnie takiego podejścia od strony użytkownika. Teraz troszkę bełkotu z oczu programisty.
W pewnym momencie myślałem że wordpress to zbiór plików z funkcjami.
Niestety moja wiedza została jakoś niedawno zweryfikowana.
Okazało się że wordpress to większy śmietnik niż się tego spodziewałem. Połączenie klas, funkcji, czystego php łączonego z htmlem i mieszanego jak się da i ile się da.
W sumie to nawet nie wiem jak deweloperzy trzymają ten projekt w ryzach i jak się w nim odnajdują. Brak jakiegokolwiek systemu szablonów (nawet własnego, logicznie ułożonego) tworzy taki rozpiździaj że masakra.

Ale w sumie to chyba najlżejszy zarzut jaki mam do wordpressa.
Lecim po kolei.
1. Zapytanie SQL == żenada, przykład:


$request = " SELECT $found_rows $distinct $fields FROM $wpdb->posts $join WHERE 1=1 $where $groupby $orderby $limits";

Moje pytanie brzmi: Co to kurwa za zapis 1=1 ? Że co, że zapytanie ma zwrócić zawsze wynik ? Nawet nie chcę wnikać w logikę tego...
2. Mieszanie php z htmlem itd, itp, przykład:


<?php
$editable_ids = get_editable_user_ids( $user_ID );
if ( $editable_ids && count( $editable_ids ) > 1 ) :
?>
<fieldset><legend><?php _e('Author…'); ?></legend>
<?php wp_dropdown_users( array('include' => $editable_ids, 'show_option_all' => __('Any'), 'name' => 'author', 'selected' => isset($_GET['author']) ? $_GET['author'] : 0) );
?>
</fieldset>
<?php
endif;

Tak to ja kodowałem jak się uczyłem składni.
3. Zmienne globalne i ich magiczna tablica. Brak dbania w jakikolwiek sposób o pamięć, proces, brak optymalizacji kodu, przykład:


echo count($GLOBALS); daje wynik 153 :|

oraz

function get_out_now() { exit; } add_action( 'shutdown', 'get_out_now', -1 );

Obstawiam że to działa tak: wpisując "shutdown; " wykonywany jest exit();
Podobnie obstawiam z "endif;" i "endforeach;", aczkolwiek nie umiem dotrzeć do miejsca gdzie to jest tworzone. Chyba brak nerwów i chęci babrania się w gówienku.

Nie chce mi się szukać kolejnych absurdów i głupot związanych.

Trackback . Dodano 10 lutego 2008 o 21:21:05 na poziomie 0

Niepoważnik progamisty

Wordpress - i ja coś napiszę.

Miał być komentarz na blogu Lukema do notki na after.design, ale tak jakoś się odpowiedź rozpasła, że postanowiłem tracbackować ;)

12 lutego 2008 . 08:46:02