WordPress 2.1

Wreszcie. Długo oczekiwana i od dawna zapowiadana wersja 2.1 WordPressa już jest.

O szczegółach nowej wersji oraz o przyszłości WordPressa możecie sobie przeczytać w odpowiednim wpisie na blogu Matta Mullenweiga, ja pozwolę sobie tylko na parę uwag.

Nowej wersji jeszcze nie testowałem, ale ten tydzień zapowiada się dla mnie pracowicie. Na 2.1 czekałem z pewnym większym projektem i wreszcie mogę ruszyć. Oczekiwanie się opłacało, bo WP 2.1 „Ella” ma sporo ciekawych nowinek:

1. Autosave — z pewnością przyda się przy tych projektach, gdzie wklepywana jest większa ilość tekstu lub jest on sformatowany w szczególnie skomplikowany sposób.

2. Eksport / import danych w formacie XML — nie ukrywam, że to mniej widoczna, ale równie przydatna opcja. Przenoszenie serwisu klienta będzie mniej skomplikowane.

3. Ustawienie dowolnej strony jako startowej — to ukłon w stronę mniej doświadczonych użytkowników WP, którzy nie potrafili wykorzystać dobrodziejstw świetnie przemyślanego systemu skórek.

4. Poprawiony kod bazy danych — być może powinienem to wpisać na samym początku. Kod został poprawiony i wyczyszczony przez Domasa Mituzasa z MySQL AB, dzięki czemu całość ma działać szybciej i wydajniej. Wierzę na słowo i nie omieszkam sprawdzić ;)

Tyle najważniejszych zmian, jakie zauważyłem. Oczywiście jest trochę poprawek wizualnych, nowsze wersje pluginów etc., ale to norma.

Osoby wykorzystujące WP w projektach z pewnością ucieszą się z wyczyszczonego kodu, funkcjonalności crona (sprawdzimy), wygodnego zarządzania setkami użytkowników (sprawdzimy) i tym podobnych zabawek. Wersja 2.1 ma również poprawionych ponad 550 różnych usterek i błędów, zatem warto aktualizować.

Najważniejszą informacją związaną z premierą wersji 2.1 jest moim zdaniem przejście na tryb regularnych aktualizacji WordPressa. Mają one pojawiać się kilka (4?) razy do roku i być mniej rewolucyjne, ale za to regularnie w każdej będzie trochę nowości i poprawek. W związku z tym znamy już datę premiery kolejnej wersji WordPressa — 23 kwietnia 2007.

This entry was posted in WWW & Net, Wordpress. Bookmark the permalink.

23 Responses to WordPress 2.1

  1. Zarazek says:

    Ja niestety musiałem wrócić do 2.0.7 bo mi się skórka zbuntowała.

  2. MySZ says:

    „świetnie przemyślanego systemu skórek”

    rotfl :) znowu zaczynasz? ;)

  3. Zarazek says:

    Dzięki za wycięcie komentarza. Skutecznie zraziłeś mnie do tego bloga.

  4. Zarazek says:

    Cofam ostatnie słowa i przepraszam. Jakimś cudem mi się nie wyświetlił.

  5. btd says:

    No i nowa wersja wtyczki akismet. Ja już nie mogę się doczekać aż wrócę do domu – w pracy nie chciałbym zostawiać rozgrzebanego update jak coś się sypnie :-)

  6. @ Zarazek:
    Skórki są generalnie niezależne od silnika, więc przyczyna może być inna. Ciężko zgadywać na odległość, ale to może być wina wtyczek, które przestały działać w wersji 2.1.

    Co do wycinania komentarzy — komentarz osoby piszącej pierwszy raz trafia do moderacji i odpowiednia adnotacja jest widoczna przy komentarzu. Jeżeli komentarz się nie pojawia, to na 99,9% został zeżarty przez Akismet i będzie odzyskany, jak zajrzę do zbiornika ze spamem. Jeśli go tam przeoczę, to wtedy może się nie pojawić.

    @ MySZ:
    Patrzę na to z humanistycznego punktu widzenia:

    1. Ekipa WordPressa zrobiła wzorcową wręcz dokumentację do całości. Nie znam lepiej zrobionej (tak kompletnej i napisanej w przystępny sposób) dokumentacji do ogólnodostępnych projektów informatycznych.
    Dokumentacja jest napisana tak, że nawet kompletny amator jest w stanie zrozumieć działanie takiego np. <?php the_author(); ?>.

    2. System skórek w WordPressie nie wymaga specjalistycznej wiedzy programistycznej — do zbudowania skórki wystarczy znajomość (X)HTML i CSS oraz lektura dokumentacji. Zdrowy rozsądek wskazuje, że jeśli ktoś chce wstawić do skórki nazwisko autora wpisu, wstawia w odpowiednie miejsce w kodzie HTML <?php the_author(); ?> — niczego więcej nie potrzeba.

    3. System skórek w WordPressie jest niesamowicie wręcz elastyczny, czego dowodem są dziesiątki tysięcy najróżniejszych skórek, zarówno dostępnych publicznie, jak i robionych indywidualnie. Zauważ, że większość jest robiona przez zwykłych ludzi, którzy nie są programistami i na ogół nie mają pojęcia o PHP.

    4. Zrobienie szczególnie wymyślnych layoutów zajmuje trochę czasu, ale to normalne dla każdego szczególnie wymyślnego układu strony. Zwróć jednak uwagę na dwie rzeczy — tworzenie tych wymyślnych skórek nie wymaga przeróbek silnika (co ułatwia aktualizacje bloga / serwisu) oraz jest dostępne dla mniej zaawansowanych technicznie osób (obniżenie progu wejścia).
    Pomijam korzystanie z pluginów, które potrafią coś skopać, ale od wersji 2.1 ma się to ponoć zmienić.

  7. myślę, że sporo zarzutów do WP bierze się ze strony osób, które chcą jednak wykorzystywać go do szerszych celów, czyli jako CMS…

    pewien znajomy właściciel firmy uważa że wordpress jest lekiem na całe zło i wszystkie swoje witryny próbuje na tym stawiać, co nie do końca wychodzi. :)

    chyba poczekam z aktualizacją, za tydzień czy dwa znajdą się jakieś bugi i wtedy wyjdzie 2.1.1 :)

  8. Cóż, ja wykorzystuję Wodpressa jako CMS i działa to zupełnie dobrze, bez jakichś setek hacków, o których zdążyłem w paru miejscach przeczytać. Wygoda jest spora, łatwość obsługi (nawet dla osób nietechnicznych) takoż, możliwości konfiguracyjne olbrzymie — czego chcieć więcej?
    Przy takich przeróbkach trzeba mieć jedynie większą znajomość możliwości i ograniczeń WordPressa, ale w końcu do czegoś ten Codex napisano ;)

  9. Zarazek says:

    @ Piotr
    Za późno się zorientowałem. Moja przeglądarka kasuje wszystkie ciasteczka przy ponowny uruchomieniu i kiedy wysłałem drugi komentarz pojawiła się informacja, że poprzedni nie został jeszcze zmoderowany. Jeszcze raz przepraszam :)

    A problemy ze skórką prawdopodobnie wynikają z połączenia tabel kategorii i linków.

  10. dredzik says:

    O. Sesja się skończy to się przestawię ;-) A system skórek fajny jest – ale kilka wad ma (a raczej kilka brakujących funkcjotagów)

  11. Dredzik, a czego Ci brakuje? Jak znam życie, to da się to albo znaleźć w Codeksie, albo da się dorzucić wtyczkę :)

  12. adas says:

    Nie wiem dleczego, ale w Operze linki do poprzedniego/następnego wpisu mam nieaktywne/nieklikalne… (na górze strony).

  13. Taki już urok Opery :>
    A poważniej — w mojej Operze 9 też nie działa. Jako że obecna skórka to standardowy Kubrick z inną grafiką, to jest to raczej problem Opery. Sprawdziłem na paru innych WP z Kubrickiem i tam też nie działa…

  14. dredzik says:

    @Piotr
    Na przykład w archiwum kategorii (/category/kategoria) można pobrać nazwę obecnej kategorii ale nie można pobrać jej ID/SLUG-a/Czegokolwiek innego.

    Dalej idąc – przy liście w archiwum nie można określić jak ma wyglądać część pozycji, w której jest liczba postów, ani też ta część nie ma nadanej żadnej klasy – więc jakikolwiek CSS też mi odpadał.

    No i „Czytaj dalej”. Możemy zdefiniować tekst ale tak jak wyżej – siedzi sobie w paragrafie i nie ma toto żadnej klasy; żeby sobie to ostylować musiałem shaczyć WordPressa.

    Znajdzie się jeszcze trochę takich upierdliwości. I niby można sobie do tego pluginy ściągnąć/napisać czy nawet shaczyć styl WP. Ale fajnie byłoby jednak nie musieć ;-)

  15. Na przykład w archiwum kategorii (/category/kategoria) można pobrać nazwę obecnej kategorii ale nie można pobrać jej ID/SLUG-a/Czegokolwiek innego.

    A co z get_the_category? Nigdy nie było mi to do szczęścia potrzebne, ale (jeżeli dobrze zrozumiałem) Tobie powinno wystarczyć.

    Dalej idąc — przy liście w archiwum nie można określić jak ma wyglądać część pozycji, w której jest liczba postów, ani też ta część nie ma nadanej żadnej klasy — więc jakikolwiek CSS też mi odpadał.

    Nie bardzo rozumiem…
    Jeżeli chcesz pozostać przy Kubricku, to rzeczywiście możesz mieć problem, ale to prosty szablon. Możesz jednak wszystko napisać sobie sam od podstaw, według własnych życzeń — to trwa jedynie chwilę dłużej, niż pisanie szablonu takiej strony w czystym (X)HTML.

    No i â€œCzytaj dalej”. Możemy zdefiniować tekst ale tak jak wyżej – siedzi sobie w paragrafie i nie ma toto żadnej klasy; żeby sobie to ostylować musiałem shaczyć WordPressa.

    Modyfikujesz skórkę, engine WordPressa zostaje nietknięty, więc absolutnie nie można tutaj mówić o hackowaniu. Zaś jeśli chodzi o modyfikowanie skórki, to nikt nie zabrania Ci ubrać tego paragrafu w odpowiednią klasę, czy nawet zmianę paragrafu na cokolwiek tylko sobie wymarzysz…

    Ale fajnie byłoby jednak nie musieć ;-)

    Tylko że tak się nie da. Nie zrobisz jednego idealnego uniwersalnego szablonu, który będzie pasował wszystkim i który da się zmieniać wyłącznie przez zmianę grafiki i CSS. To niewykonalne…

    Tworząc WP postanowiono umożliwić każdemu modyfikowanie skórek. jednym wystarczy wymiana grafiki, innym modyfikacja CSS, jeszcze inni potrzebują zrobienia sobie skórki od podstaw — co kto lubi…

    W każdym z tych przypadków wyeliminowano jednak największy problem projektów w PHP — konieczność znajomości tego języka. Do wprowadzenia 99% najbardziej zaawansowanych zmian w skórkach wystarczy zapoznanie się z odpowiednimi artykułami i przykładami w Codeksie. Ten 1% pozostaje na najbardziej odjechane projekty, które i tak wymagają świetnej znajomości PHP ;)

  16. dredzik says:

    @Piotr
    Nie zrozumiałeś:-)

    get_the_category jest od kategorii danego wpisu a mi chodzi o to, że jest single_cat_title() a nie ma single_cat_id() czy single_cat_slug() i trzeba kombinować ;-)

    Jeżeli chcesz pozostać przy Kubricku, to rzeczywiście możesz mieć problem, ale to prosty szablon. Możesz jednak wszystko napisać sobie sam od podstaw, według własnych życzeń

    Ale że co napisać od podstaw? Funkcje tagowe?
    Chyba się nie rozumiemy ;-) Jest sobie wp_get_archives(‚show_post_count=1′); i jak bez regexpów mam tym licznikom nadać jakąś klasę albo po prostu ostylować?

    Modyfikujesz skórkę, engine WordPressa zostaje nietknięty, więc absolutnie nie można tutaj mówić o hackowaniu.

    Ale skąd wiesz co ja modyfikuję? :> Ja sobie do tego przerabiałem siakiś plik w wp-includes więc w/g Twojej definicji to już jest haczenie ;-)

    Zaś jeśli chodzi o modyfikowanie skórki, to nikt nie zabrania Ci ubrać tego paragrafu w odpowiednią klasę, czy nawet zmianę paragrafu na cokolwiek tylko sobie wymarzysz…

    O RLY? Hał? (Za pomocą funkcji tagowych)

  17. No nie rozumiemy się, bo takie opisowe gadanie (bez „autora chcę mieć pod tytułem posta, a nie nad”) ciężko zrozumieć.

    Wracając do rzeczy — single_cat_title jest używane do wyświetlenia tytułu danej kategorii, na przykład w Jesteś w kategorii „Moje zdjęcia”. Tagi single_cat_id czy single_cat_slug dawałyby Ci odpowiednio Jesteś w kategorii „568″ oraz Jesteś w kategorii „zdjecia”.
    Prawdę mówiąc nie bardzo widzę zastosowanie dla tego czegoś :)
    Jeśli jednak potrzebne Ci to do czegoś, to (jeśli dobrze zrozumiałem) możesz użyć in_category z dobrodziejstwem inwentarza ;)

    Z kolei w przypadku wp_get_archives(’show_post_count=1′); też problemu nie widzę — przed tagiem stawiasz (czy co uważasz za stosowne), za tagiem go zamykasz i po problemie.

    Jeśli dobrze rozumiem Twoją kombinatorykę, to generalnie chodzi Ci o odpowiednie ostylowanie postów z danej kategorii — najlepiej z każdej innym kolorem. Right? Jeśli tak, to w Codeksie jest sporo gotowych przykładów ze modyfikowaną pętlą, które Ci to umożliwią.

    A w modyfikowaniu skórki możesz zrobić chyba wszystko. Jak do tej pory jeszcze nie spotkałem się z problemem, którego bym nie mógł jakoś rozwiązać. Ofkors czasem jest łatwiej, czasem trudniej, ale to przecież nie jest WYSIWYG ;)

  18. dredzik says:

    Zią. Ja wiem od czego to jest ;-) A single_cat_id/slug było mi potrzebne jak chciałem na stronie archiwum kategorii dorzucić grafikę odpowiadającą danej kategorii. W sensie:

    <img src=”/images/cats/<?=single_cat_id()?>.jpg” alt=”<?=single_cat_title()?>” /> Posty z kategorii <?=single_cat_title()?>.

    A co do archiwum – problem rozwiązałby się gdyby wp_get_archives(’show_post_count=1′); wypluwając <li><a>miesiąc rok</a> (ilość)</li> zamiast (ilość) wstawiało <span>ilość</span> – i o tym cały czas krzyczę ;-) Tak samo the_content() mogłoby paragraf z „czytaj dalej” wypluwać z jakąś klasą czy co.

    Bo to że dla mnie czy dla Ciebie nie jest problemem obejście tego (w końcu jak Neo z Matriksa „I know Regexp!”) nie znaczy, że ZU sobie poradzi ;-)

    PS: Ciekawe jaka sieczka wyjdzie mi z tego komentarza.

  19. A single_cat_id/slug było mi potrzebne jak chciałem na stronie archiwum kategorii dorzucić grafikę odpowiadającą danej kategorii.

    Ale to się robi inaczej i to w banalnie prosty sposób. Rozwiązania nie podam, bo widzę żeś jeszcze z Codeksem nieobyty, a ono tam leży na tacy. Ale uwierz mi — takie rzeczy to się robi o niebo łatwiej i można zrobić o dwa nieba więcej ;)

    A co do archiwum — problem rozwiązałby się gdyby wp_get_archives(’show_post_count=1′); wypluwając

  20. miesiąc rok (ilość)
  21. zamiast (ilość) wstawiało ilość – i o tym cały czas krzyczę ;-)

    Phi…
    Do <li> dodajesz jakąś klasę i ją odpowiednio formatujesz w CSS. Żeby <a> się różniło, to odpowiednio zmieniasz ten fragment CSS i masz zrobione.

    Tak samo the_content() mogłoby paragraf z â€œczytaj dalej” wypluwać z jakąś klasą czy co.

    Przed i za the_content możesz przecież sobie coś wstawić i będziesz miał klasę.

    Bo to że dla mnie czy dla Ciebie nie jest problemem obejście tego (w końcu jak Neo z Matriksa “I know Regexp!”) nie znaczy, że ZU sobie poradzi ;-)

    Jak pokazałem na obrazku wyżej — osoba mająca jakiekolwiek pojęcie o HTML i CSS sobie poradzi bez problemu oraz bez znajomości Regexpa czy HTML.

  22. dredzik says:

    Z codeksem obyty na wysokości /Template_Tags – i nigdzie w okolicach nie widziałem nic na temat – ale z ciekawości przejrzę.

    Dla mnie formatowanie najpierw całości na modłę licznika a potem tagu <a> jest trochę niepraktyczne – ale to już kwestia gustu pewnie. Poza tym mam to wrażenie, że jednak to nie tak powinno być jeżeli chodzi o hierarchię.

    A przed i za the_content mogę sobie stawić klasę – tylko co z tego jak w body mam 10 paragrafów? :)

  23. dredzik says:

    A single category template file (category.php) can be created which uses the global $cat variable to determine which category is being displayed, and use that variable to find out information about the current category, the parent category, or the children categories.

    Cicho ;P

  24. Kombinuj, kombinuj. Tylko pamiętaj — tu nie politechnika, tu trzeba myśleć ;)

  25. dredzik says:

    Ej. Spipcaj. Właśnie mam sesję na PG :P