Pisz Tu – moja nowa wtyczka do publikowania wpisów za opłatą

Branża SEO co chwila dopytywała się jak uruchomić katalog artykułów precell i pobierać opłatę za umieszczenie w nim takiego wpisu. Kolejna grupa wordpressowiczów co jakiś czas pytała o wtyczkę, dzięki której będą mogli zrobić na przykład serwis ogłoszeniowy, gdzie publikacja ogłoszenia jest płatna. No więc wtyczkę taką zrobiłem. Oto:

Pisz Tu (pisztu.com)

Wtyczka robi, to co w temacie: osoba odwiedzająca może dodać wpis, ale tylko jeśli za to zapłaci. Autor strony zarabia na każdym wpisie, może też zarabiać na każdym URLu w treści wpisu i na przypisaniu wpisu do więcej niż jednej kategorii.

pisz tu - publikowanie wpisów za opłatąWtyczkę już podczas tworzenia przedyskutowałem z „grupą docelową”, dzięki czemu jest w niej kilka dodatkowych pomysłów już na starcie. Właściciel witryny sam decyduje co się dzieje po opłaceniu: wpis ma się pojawić od razu, czy jeszcze czekać na moderację. Można ustalić, by po x dniach wpis znikał. Można sprawić by autor wpisu na x dni przed takim zniknięciem dostał maila z propozycją przedłużenia. Wpis można publikować w WordPressie nie tylko jako ‚wpis’, ale na przykład stronę czy jakikolwiek inny samemu dodany własny typ wpisu (custom post type). Można dodać regulamin i wtedy przed publikacją wymagana jest jego akceptacja.

Słowem wypas. Wtyczka jest płatna, ale biorąc pod uwagę fakt, że służy zarabianiu na pewno szybko się zwróci.

P.s. Moja ważniejsza wtyczka, czyli TradeMatik doczekał się kilka dni temu aktualizacji do wersji 1.3.

0

Też byłem na Blog Forum Gdańsk

Relację z WordCampu już zamieściłem, teraz czas na opisanie tego, co działo się zaraz po jego zakończeniu. Czyli relację z Blog Forum Gdańsk 2012.

Trafiłem tam właściwie przypadkiem. O BFG wiedziałem od kilku lat, głównie z artykułu na SpidersWeb, gdzie Przemek Pająk tłumaczył dlaczego tam nie pojedzie (było coś o snobizmie i chyba macaniu po jajkach mizianiu po majciorach) i przyznam, że jeśli ktoś tak dowiaduje sie o tym wydarzeniu, to kiepska reklama zniechęca do głębszego zainteresowania. Teraz jednak zostałem poproszony o wygłoszenie tam swojej prelekcji.

Zgodziłem się, bo przemawianie przed tłumem mnie stresuje. Brzmi dziwnie, ale w tym roku postanowiłem sobie, że zwalczę ten lęk, a walczyć będę rzucając się na głęboką wodę. I tak po zgłoszeniu się do wystąpienia na WordCamp Gdańsk 2012 postanowiłem, że nie odmówię też występu na tej drugiej, większej imprezie.

Jak było? Cóż, przeczytałem już chyba wszystkie inne relacje uczestników jakie znalazłem, mam więc od kogo kraść przemyślenia 😉 Wśród osób, które były tak jak ja na WordCampie i BFG króluje niechęć do porównywania tych dwóch wydarzeń. I ja się z tym zgadzam. To tak trochę jak spróbować porównać na przykład ślub i wesele. Niby jest jakiś wspólny mianownik, ale nikt chyba nigdy nie zastanawiał się co z tych dwóch rzeczy wypadło lepiej. Tu wspólnym mianownikiem było miasto i czas. Wszystko inne było… inne.

Skupię się od teraz na samym BFG i do Campa już raczej nie będę wracał.

Pierwsze co zwraca uwagę u prelegenta tego wydarzenia to troska jaką jest otoczony. Na samym wstępie zaproponowano mi sfinansowanie przyjazdu (a gdyby Białystok miał lotnisko, dostałbym bilet na samolot) oraz nocleg w całkiem dobrym hotelu. Właściwie to chyba nawet za dużo jak na kogoś, kto ma opowiadać o tym jak się konfiguruje WordPressa. Jednak nie odmówiłem (jedynie dojazd do Gdańska opłaciłem z własnej kieszeni, bo i tak przecież najpierw wybierałem się na WordCamp – szit, miałem już o nim tu nie wspominać).

Drugie wrażenie – świetny kontakt z organizatorami. Co prawda nie wiem kto tam był szefem wszystkich szefów (wiem, że za większość płaciło miasto Gdańsk, które BFG traktuje jak okazję do wypromowania się), ale osoby którym byłem przydzielony wywiązały się ze swoich obowiązków bardzo dobrze. W tym miejscu bardzo dziękuję za pomoc w odnalezieniu się we wszystkim Agnieszce z BFG (jeśli to czyta) 🙂

Dalej: hotel. Jak być może wiecie jestem fanem hosteli i rzadko bywam w czymś lepszym, ale Scandic w Gdańsku to bardzo dobre miejsce. Znajduje się zaraz przy dworcu głównym (wystarczy przejść przejściem podziemnym) i jest tak wypasiony, że nawet ja sam zobaczyłem słomę w swoich butach 😉 Gdybym chadzał w garniturach, to może…

Tu dodam, że z hotelu i do hotelu jeździł wynajęty bus do przewozu uczestników i prelegentów. Jednak jako że lubię sobie pospać, udało mi się nim zabrać tylko raz z Forum. Na miejsce dojeżdżałem tramwajami, co chyba nie było dobrym pomysłem. Wprawdzie organizatorzy w mailu do prelegentów wylistowali trzy linie, którymi można dojechać, jednak tu zdarzył się mały problem. Jedna z nich jeździ tylko w dni robocze (Forum było w weekend), drugiej nie znalazłem, a trzecia – ponieważ w dniu imprezy akurat rozpoczął się remont torów – wysadziła mnie trzy kilometry od miejsca zdarzenia. Ale nie narzekam, wrzuciłem sobie radio w telefonie i przynajmniej posłuchałem lokalnej stacji podczas dłuższego spaceru.

No i właśnie samo miejsce zdarzenia. Blog Forum Gdańsk odbywało się na stadionie PGE Arena – tym samym, który dopiero co został wybudowany na Euro 2012. Robi wrażenie, zwłaszcza na kimś takim jak ja, kto specjalnie stadionów nie zwiedza. Na samą murawę nie wchodziłem, ale widownia i wszystkie sale, cała infrastruktura pod nią zlokalizowane, są imponujące. Olbrzymia przestrzeń na jakiej całość się odbywała według wielu działała na niekorzyść. Całość to był wielki hall połączony z restauracją, jedna sala obok niego oraz trzy sale piętro niżej. Jeżeli chciało się odwiedzić wszystkie prelekcje, które nas interesowały, podobno trzeba było się nabiegać. Podobno, bo ja tam nigdzie się nie spieszyłem. Na początku próbowałem z harmonogramem w ręku odwiedzać te wystąpienia, które byłyby potencjalnie interesujące. Szybko jednak okazało się to niemożliwe – z powodu przedłużonych wystąpień (nawet ja nie zmieściłem się ze swoim w czasie) i braku buforu między nimi harmonogram szybko przestał obowiązywać. Tak więc na luzaku chodziłem sobie od sali do sali i patrzyłem czy dzieje się tam coś ciekawego. Jeśli tak, zostawałem.

W powyższym akapicie od opisywania miejsca przeszedłem do wystąpień, więc chwilę się na nich zatrzymam. Oczywiście tradycyjnie wszystkiego nie widziałem – dojechałem na PGE Arenę każdego dnia później i po swoim wystąpieniu też musiałem od razu biec na pociąg, więc być może ominęło mnie coś super. Wśród tego co jednak widziałem, niewiele było rzeczy, które mnie interesowały. Na pewno rozczarowały mnie wystąpienia przewidziane jako główne, te z udziałem mniejszych i większych gwiazd. Wszyscy narzekali, że ile razy można słuchać jak Kominek z Hatalską dyskutują kolejny raz czy z prowadzenia bloga da się żyć. Cóż, ja tę dyskusję słuchałem pierwszy raz, a i tak zanudziła mnie na śmierć. 😉

Ach, i tu od razu uwaga do Kominka, jeśli przypadkiem to czyta. 😉 Kominek powiedział, że według niego ledwo garstka kilkunastu blogerów w Polsce utrzymuje się z blogowania. Kominku, jesteś więc bardzo oderwany od rzeczywistości, bo nawet tak skromny bloger jak ja zarabia na swoim blogu – bezpośrednio i pośrednio. A tylko pomyśleć jaki tłum jest ode mnie popularniejszy i bardziej poczytny i jak to spienięża.

Próbowałem też nie nudzić się na wywiadzie z prezydentem miasta Gdańsk, ale jako, że całość właściwie skupiła się na tym jaka ulica w Gdańsku jest właśnie remontowana i jaki plac porządkowany – kogoś z Białegostoku niespecjalnie to interesuje. Motywem tego wystąpienia miał być blog jako czynnik sprawczy takich zmian i sposób kontaktu z władzami i to do mnie dotarło. Jako ktoś z Białegostoku mogę polecić naszemu prezydentowi by zobaczył tę rozmowę na Youtube i być może sam poszedł z ślady prezydenta Pawła Adamowicza.

O wiele przyjemniejsze były wstąpienia na najmniejszej sali, czyli w szatni. W ogóle pomysł taki  uważam za świetny. Prawdziwa szatnia piłkarska miała swój urok i bardzo się ucieszyłem gdy zobaczyłem, że moja prelekcja też tam ma być. Żadna wielka sala, ale mały pokoik, w którym przy popularniejszych wystąpieniach ludzie stojący na zewnątrz wyciągali szyję by zobaczyć co dzieje się w środku. To właśnie w szatni odbyły się dwa wystąpienia, które spodobały mi (i patrząc na reakcję innych wiem, że nie tylko mi) się najbardziej. Pierwszego dnia Dorota Kamińska z Pozytywnej Kuchni wtłoczyła w salę dużo humoru pokazując ciekawe wideo blogi kulinarne. Sporo było śmiechu i polecam wszystkim odnaleźć to wystąpienie na YouTube (gdy to piszę, jeszcze go nie ma, ale pojawiają się już inne). Drugiego dnia największe wrażenie na wszystkich zrobił Piotr Konieczny z Niebezpiecznika. Co prawda kompletnie nie mówił o tym co zapowiadał w harmonogramie tytuł prelekcji – miało być o bezpieczeństwie bloga, a de facto było o bezpieczeństwie w ogóle – ale na sali co chwila było słychać łał! zachwytu. Bardzo ciekawa odskocznia od głównego nurtu forum.

Monika Mikowska  w sali - szatni

Monika Mikowska w sali – szatni

Moim osobistym rozczarowaniem byli niestety ludzie. Powinienem się chyba był tego spodziewać w miejscu, w którym przewijało się podobno 300 osób, ale atmosfery nie było tam żadnej. Nie była to też atmosfera z jakichś targów wystawienniczych. To było takie dziwne zoo, w którym ktoś w jednej klatce zebrał wszystkie zwierzęta, dodał do nich zwykłych ludzi i rozwinął czerwony dywan. Nawet było trochę komicznie. Wielcy blogerzy chcąc tego lub nie byli wyalienowani i na świeczniku (przy bliższym poznaniu okazywali się normalnymi ludźmi, ale szepty wokół nich nie pozwalały im w ukryć się w tłumie). Zresztą co tam wielcy blogerzy – najweselsza była grupa wszelkich szafiarek i hipsterów. Zupełnie czym innym jest spotkać taką osobę pojedynczo gdzieś na ulicy, a czym innym gdy są w stadzie. No ale nic, nie będę się nad tym specjalnie rozwodził; takie to już czasy, że młodzi ludzie wyglądają właśnie tak, a nie inaczej. Zresztą, chyba się już starzeję 😉

W każdym bądź razie duża przestrzeń, trzystuosobowy tłum i ubiór pod tytułem nie podchodź do mnie bo mnie zasłonisz nie sprzyjały wytworzeniu dobrej atmosfery i na PGE Arena właściwie jeśli z kimś rozmawiałem, to był to ktoś kogo znałem już wcześniej osobiście. Liczyłem na osobiste poznanie z kilkoma osobami, których blogi czytam od lat, jednak to się nie udało.

Gdy jednak ten tłum się zmniejszył, upakował się w mniejszej przestrzeni i wlało się w niego „odrobinę” alkoholu, sytuacja zmieniła się znacząco. Mówię tutaj o tym, co zaczęło się jako middle party w klubie Dobry Dźwięk, a skończyło – przynajmniej dla mnie – jako test cierpliwości obsługi hotelowej. Middle party było kolejnym potwierdzeniem profesjonalizmu i rozmachu organizatorów. Trzypiętrowy klub wynajęty tylko dla uczestników BFG, open bar czyli alkohol i jedzenie bez ograniczeń oraz koncert na żywo Smolika i jego ekipy. Łał. Dziwnym trafem, gdy tylko w klubie alkohol przestał być darmowy, klub opustoszał, ale nie ma tego złego, co by na dobre nie wyszło. Spora część ludzi przeniosła się wtedy do hotelu, gdzie krążyliśmy między imprezą w hotelowym lobby a imprezą w pokoju jednej z blogerek. To właśnie tu te wszystkie wyżej wspomniane papugi, pawie i pawiany okazały się bardziej ludzkie niż na forum ogólnym. Bardzo dobrze, że tak się stało, bo na następny dzień atmosfera była już przyjemniejsza. Co prawda głowa bolała strasznie, ale nic tam 😉

Opisałem już chyba wszystko co najważniejsze, czas więc przejść do podsumowania. O swoim występie pisać nie będę, bo go jeszcze nie widziałem, a że zaraz po wystąpieniu musiałem biec na pociąg (organizatorzy byli tak mili, że wynajęli mi taksówkę na dworzec), nie udało mi się zebrać jakiegokolwiek feedbacku od słuchających mnie. W każdym bądź razie było kilkanaście osób słuchających, co sprawiło, że się nie stresowałem specjalnie. Na szczęście dopiero potem dowiedziałem się, że przez internet oglądało mnie na żywo zapewne kilka tysięcy, jeśli nie kilkanaście tysięcy osób.

Czy wybiorę się jeszcze na Blog Forum Gdańsk? Bardzo bym chciał, ale nie wiem czy nie jestem za słabym blogerem, aby się tam załapać (była ostra selekcja i dostałem się tylko temu, że byłem nie uczestnikiem, a prelegentem). Przedsięwzięcie to było olbrzymie i naprawdę robił wrażenie ten cały rozmach. Gratuluję miastu Gdańsk pomysłu na taki rodzaj promocji. Wszyscy uczestnicy na pewno odnieśli mniejsze lub większe wrażenie, że Gdańsk jest cool, skoro zamiast robić kolejny festyn z okazji dnia truskawki, robi coś tak nowoczesnego. Co więcej ci uczestnicy i prelegenci wrócili do domów i dalej blogują o tym. Sami pomyślcie ile osób usłyszało nazwę miasta Gdańsk w kontekście blogowania i internetu, a ile słyszało o – dajmy na to – Lublinie bo jego urząd miasta zamówił filmik promocyjny, który wrzucił na YT. Tak się to właśnie powinno robić.

0

Mam do rozdania wejściówki na tegoroczny WordCamp

Przyjąłem sobie, że na tym blogu o WordPressie już nie piszę, wszelkie moje  WordPressowe  porady znajdziecie teraz na dev.wpzlecenia.pl. Tyle, że to nie jest porada.

W tym roku WordCamp odbędzie się w Gdańsku w dniach 11-12 października. Jeśli ktoś chce się na nim zjawić, wejściówki może kupić na tej stronie.

Jeśli ktoś chce wejściówkę za darmo, może ją wygrać na tej stronie –  spieszcie się, bo rozdajemy je do piątku, do południa.

Ja oczywiście na WordCampie będę. Raczej nie jako prelegent, bo nie potrafię znaleźć tematu, o którym mógłbym mówić, który byłby ciekawy dla  słuchaczy i który sam bym bardzo dobrze znał. Ale się jeszcze zobaczy 😉

p.s. Termin i miejsce WordCampa specjalnie zostały tak dobrane, by wydarzenie to przylegało do odbywającego się w weekend Blog  Forum Gdańsk, także miejcie to na uwadze i zastanówcie się czy nie warto zaliczyć obu spotkań na raz.0

Ernst & Young zlecił coś Muzungu

Nie było to gigantyczne zadanie, ale jako, że klient jest prestiżowy i sam skontaktował się ze mną z polecania, a ja wykorzystuję ten blog do lansowania się jako web developer od wordpressa, to się chwalę 😉

Ernst & Young – być może kojarzycie ich z telewizji, gdy ktoś z tej firmy wypowiada się w jakimś programie ekonomicznym jak tym razem zachowa się kurs waluty X po decyzji Y – ma kilka blogów gospodarczych, w tym i blog o podatkach. Od kilku tygodni ma na nim nowość.

Na górnej belce jest link do Forum Dyrektorów Podatkowych. To takie miejsce gdzie fizycznie spotykają się ważni dyrektorzy w Polsce, ministrowie z różnych ministerstw i inne szychy. Wirtualnie mogli tylko czytać tego bloga.

Teraz mogą się także zalogować i w sieci wymieniać opinie, pliki i dyskutować o tym czy podatki powinny wzrosnąć czy zmaleć. Choć jak i inni śmiertelnicy nie mam dostępu do stworzonego przeze mnie tego miejsca raczej potrafię zgadnąć jak się układa podział opinii ministrów i księgowych w tej kwestii 😉

Nic więcej nie zdradzę. Wszystko działa, Ernst &  Young jest zadowolony. A jeśli ktoś też chce mieć coś wykonanego przez wordpressowca, który oglądał Warszawę ze szklanego wieżowca E&Y i teraz się puszy to zapraszam do kontaktu 🙂

0

Proszę państwa, oto Biebrza

Dawno już nie chwaliłem się jaką to nową stronę wykonałem, część z Was pewnie już zapomniała, że to właśnie robieniem wordpressowych stron zarabiam na życie. Jako, że jedno z moich ostatnich dzieł zapiera dech w piersiach, to jest chyba dobra okazja by Wam o mojej działalności przypomnieć 😉

Uwaga (vel reklama): jeśli ktoś też chce mieć taką stronę, a może nawet jeszcze lepszą, zapraszam do kontaktu!

Rozsiądźcie się wygodnie i podziwiajcie widoki, zarówno te programistyczne, te CSS-owe jak i te jak najbardziej naturalne, przyrodnicze. Bowiem zapraszam Was na stronę internetową o Biebrzy i Biebrzańskim Parku Narodowym.

Biebrzański Park Narodowy - wygląd strony głównej

Powyżej widzicie fragment strony głównej new.biebrza.com, ale do podziwiania jest tam o wiele więcej.

Strona pełni funkcję biznesową: ma sprzedawać wycieczki po Biebrzy i jej okolicach, oferować noclegi i reklamować wiele innych rzeczy, ludzi i instytucji, które z Biebrzą mają coś wspólnego. Jeśli ktoś szuka na przykład gdzie można nad Biebrzą dobrze zjeść, gdzie wypożyczyć kajak, samochód lub nawet przelecieć się balonem – wszystko to na pewno tam znajdzie. Jest nawet sklep internetowy z pamiątkami z nad Biebrzy (oparty na mojej wtyczce TradeMatik).

Pieniądze to oczywiście nie wszystko. Strona na pewno przyda się także innym, którzy Biebrzę wolą zwiedzać sprzed ekranów komputerowych. W szczególności polecam podstronę z informacjami o tej rzece i naprawdę imponującą galerię fotografii (poważnie, zajrzyjcie, bo niektóre zdjęcia zapierają dech w piersiach, aż się nie chce wierzyć, że to nasza rodzima rzeka, a nie Amazonka).

OK, dość marketingu, przejdźmy do tego, co najczęściej opisuję w takich przypadkach, czyli jak przebiegało tworzenie strony i co strona ma w bebechach 🙂 A mam się czym chwalić bo chyba nigdy dotąd nie wyciskałem aż tyle z WordPressa. Ba, nie zdziwię się, jeśli ktoś z Was nie będzie mógł uwierzyć, że to jest nadal WordPress i że nie musiałem tutaj w ogóle modyfikować jego źródeł (dzięki czemu klient może śmiało korzystać z nowszych wydań WordPressa nie bojąc się, że coś się przy aktualizacji popsuje).

Strona nie była tworzona z niczego. Firma Biebrza Eco-Travel posiadała witrynę od dawna (uchowała się jej stara wersja angielska więc każdy może porównać stan przed i po) i patrząc na ów stary design, zakładam, że był projektowany z 13 lat temu. Przynajmniej tak wtedy wyglądały moje strony internetowe 😉 Strona zarabiała na siebie. Właściwie to mało powiedziane: była chyba głównym źródłem dochodów, bo to w internecie klienci znajdowali ofertę firmy i przez formularz na stronie składali zamówienia na wycieczki.

Dlaczego więc zmieniono silnik strony na WordPressa? Z dwóch powodów: stara strona trąciła już myszką, a co ważniejsze: nie  było tam żadnego silnika strony. Gdy w ofercie firmy pojawiała się nowa wycieczka, informatyk (w ostatnim okresie działania starej strony to byłem ja) otrzymywał na maila plik Worda z opisem imprezy, zdjęcia z aparatu ( w rozdzielczości 2500×1200 pikseli i wadze po 3 MB) z prośbą o umieszczenie wycieczki na stronie. Wtedy łączyłem się przez FTP ze stroną, tworzyłem nowy dokument html, przekopiowywałem treść, przeskalowywałem w Gimpie zdjęcia, dodawałem „znak wodny”, dodawałem do opisu, otwierałem kilkadziesiąt już istniejących podstron zbiorczych (także w notatniku) i edytując ich kod html dodawałem odnośnik do nowej imprezy.To samo z wszelkimi innymi typami treści.

Całość zajmowała godziny, była żmudna i kosztowała firmę sporo pieniędzy. Analizując kod strony widać było wyraźnie, że przede mną było wielu innych informatyków, którzy nie wytrzymywali takiego trybu pracy (moje wprawne oko wyłapało tam naleciałości z różnych programów od windowsowego notatnika przez DreamWeaver po Front Page i mnóstwo kodu wskazującego na wybieranie w MS Word opcji „zapisz jako stronę web”).  To była tragedia do rozczytania, a żeby choćby poprawić jakąś literówkę musiałem spędzić sporo czasu na rozgrzebywaniu tych html-owych śmieci. To zniechęca do pracy, a co ważniejsze dla klienta: kosztuje dużo ze względu na czas potrzebny na to. Nie mówiąc już o zapewne kolejnych problemach z kolejnymi informatykami, którzy rezygnowali z tej żmudnej pracy i konieczności szukania następnego.

Po przejściu na WordPressa założenie było takie, że strona dostanie nowy wygląd (nawiązujący jednak do starego), nowe możliwości i typy treści, a co najważniejsze to już sam właściciel strony bez wymogu znajomości HTML sam będzie te treści dodawał, aktualizował i układał w sposób jaki będzie tego chciał. To niewątpliwe zalety, ale pojawiła się spora obawa:

Stara strona była bardzo dobrze zaindeksowana w wyszukiwarkach, a to z Google przychodziła większość klientów. Czy kompletna przebudowa strony, zmiana treści i zmiana odnośników do poszczególnych podstron nie sprawi, że nagle w jeden dzień firma przestanie zarabiać? Nie będę Was trzymał w niepewności: dzięki sztuczkom z .htaccess i naturalnej miłości pomiędzy WordPressem a zagadnieniami SEO (na stronie nie ma nawet zainstalowanej żadnej wtyczki do pozycjonowania witryny!) wszystko poszło wyśmienicie. Sprawdźcie sami wpisując w google słowo „biebrza”. Stara wersja strony znajdowała się na 3. pozycji w wynikach wyszukiwania (po oficjalnej stronie parku i artykule w wikipedii). Nowa znajduje się na tej samej. Podobnie jest z innymi frazami związanymi z tą branżą i okolicą.

Przy budowie strony silnie wykorzystałem rewelacyjną nowość wordpressa jaką są własne typy treści. Jeszcze dwa lata temu wszystko publikowane na stronie musiało by być zapewne albo „stroną” albo „wpisem blogowym” przyporządkowanymi do kategorii „wycieczki”, „noclegi”, „baza żywieniowa”… Biorąc pod uwagę, że każdy z tych typów danych powinien mieć różne pola je opisujące (na przykład wycieczki mają określony termin startu i zakończenia, czego na przykład nie ma restauracja, która z kolei może zostać przyporządkowana do kategorii „restauracje”, „bary” lub kolejnej, która ni jak nie odnosi się do wycieczek czy noclegów), byłby to koszmar.

Dzięki wykorzystaniu własnych typów treści, każda opcja na stronie ma swój własny formularz dodawania. Przy imprezie (wycieczce) można określić tak podstawowe rzeczy jak „termin”, „program”, „miejsce startu” czy „przewodnik”, po te bardziej wyszukane jak na przykład „noclegi w okolicy” (i tu klient może od razu metodą przeciągnij i upuść stworzyć dowiązania do elementów o typie treści „baza noclegowa”), „współrzędne geograficzne” (jak zapewne zobaczycie każda wycieczka ukazana jest też na automatycznie generowanej mapie). Podobnie przy „bazie noclegowej” można określić cenę za noc, ilość miejsc noclegowych, wybrać do jakiej kategorii należy dany obiekt lub na przykład ile metrów/kilometrów jest do plaży.

Możliwości jest tak wiele (sama strona to obecnie aż 18 custom post types i każdy ma od kilkunastu do nawet kilkudziesięciu różnych pól formularza do uzupełnienia podczas edycji), że czasami ich edycja staje się szczerze mówiąc  trudna. Z tego powodu wiele edycji wizualnych przenieśliśmy do front-endu – zalogowany właściciel strony może sam układać sobie pewne elementy na stronie od razu widząc jak to będzie wyglądało po edycji (nie musi nawet klikać przycisku zapisz).

Oto przykład jak układane są zdjęcia w galerii:

Wystarczy złapać myszką za zdjęcie i przemieścić je w nową pozycję. Po opuszczeniu zmiana zostanie zapamiętana.

Nie tylko zdjęcia można w ten sposób nosić. Przykładowo, pod każdą stroną jest sekcja „Sprawdź także”. Ją też można porządkować metodą przeciągnij i upuść i co najważniejsze – każda podstrona może mieć tu różne elementy i w różnej kolejności!

Taka wizualna wersja znanego zapewne części z Was pluginu widget logic 🙂 Tyle, że całość napisałem sam zgodnie z wytycznymi klienta.

Inne ciekawe rozwiązanie to wspomniane już wyżej terminy imprez. Każda wycieczka może być zorganizowana wiele razy w roku w różnych datach. Pierwotnie chciałem by klient musiał dla każdego terminu dodać kolejną wycieczkę, którą od poprzedniej różniła by się tylko datą, ale okazało się, że w takim wypadku pracy byłoby więcej niż przy starej wersji strony. Przykładowo „Fotosafari” organizowane jest kilkadziesiąt razy w roku. Dodanie kilkudziesięciu wpisów różniących się jednym polem nie wygląda zbyt wydajnie. Kolejnym utrudnieniem tutaj był fakt, że firma chciała móc przy każdym terminie danej imprezy zaznaczyć, że wszystkie miejsca już zostały wykupione, a nawet nie określać terminu w ogóle – w takim wypadku przy zamawianiu klient sam określał kiedy chce przyjechać na wycieczkę. Cały ten miks miał być trzymany w jakiś sposób w WordPressie i dawać się łatwo zarządzać i porządkować. Udało się, co na przykład możecie zobaczyć na stronie wszystkich wycieczek – imprezy uporządkowane są datami (a gdyby ktoś chciał zmienić sposób porządkowania po długości trwania, nie ma problemu). Jeśli jakiś termin jest już niedostępny informuje o tym odpowiednia ikona. Tabela uwzględnia też imprezy bez określonego terminu i właściciel strony sam decyduje w której części tabeli umieścić taką wycieczkę. Sortować można także po grupie docelowej wycieczki i sposobie jej organizacji. Wypas 😉 (btw. po części jak to zrobiłem opisałem w artykule na dev.wpzlecenia).

Powyższy opis jest długi, ale uwierzcie mi, że tylko poruszył malutki skrawek zadań programistycznych jakie przede mną stały. Dość powiedzieć, że całość prac trwała niemal 12 miesięcy! Przeniesienie 1800 subskrybentów newslettera do nowego – a jakże napisanego od podstaw przeze mnie  – systemu opartego na wordpressie, sposoby wybierania elementów do zamieszczenia na stronie głównej, sposoby do wybierania i układania elementów na każdej podstronie (w tym i podstronach generowanych automatycznie jak na przykład na stronach kategorii), umieszczanie elementów na mapach google z podziałem na kategorie tych elementów i możliwością wyświetlania na mapie tylko części z nich, możliwość wyskalowania zdjęć do 12 predefiniowanych kadrów, różnych dla różnych fotografii, także różne atrybuty title dla każdego zdjęcia w zależności gdzie ono jest wyświetlane (inny podpis pojawia się na zdjęciu w galerii i jeszcze inny na tym samym zdjęciu ale przy wycieczce), ukłądanie zdjęć w różnej kolejności, automatyczne menu zakładkowe na górze strony generowane na podstawie kategorii do jakich mogą być przypisane wycieczki… uff. Nadal nie wymieniłem nawet połowy rzeczy 🙂

Ale chyba się udało, prawda? 🙂

 0

Z pisaniem o WordPressie przenoszę się gdzie indziej

Muzungu.pl stanie się z powrotem blogiem prywatnym, o tym co u mnie słychać i co ja sobie myślę na różne tematy. Do tej pory mieszałem tu właśnie takie wpisy z moimi poradami odnośnie WordPressa. Z rozmów z Wami wiem, że nie wszystkich ten drugi temat interesuje.

Na szczęście będzie lepiej, a wszystko za sprawą nowego serwisu, jaki uruchomiłem 🙂 Dziś w nocy oficjalnie wystartował dev.wpzlecenia – wortal w którym będziemy pisać o WordPressie, wszelkiego rodzaju poradniki, nieco aktualności…

Zatem wszystkich tych, którzy interesują się WP (a może chcieliby zacząć się interesować) zapraszam pod nowy adres. Zapraszam też do pisania! Nie chcę by ta strona była tylko moja, ale wszystkich, którzy mają coś wordpressowego do powiedzenia.

Na Muzungu czasem jednak wrzucę informacje o skończonych stronach, nadal tu też będą moje wtyczki. Jednak nie będzie już żadnych porad, a co więcej – te które już są wkrótce przeniosę właśnie na dev.wpzlecenia.

WordPressowcy – wspomnijcie na swoich blogach, facebookach, twitterach czy gdzie tam jeszcze bywacie o starcie nowego serwisu 🙂 Będę bardzo wdzięczny!0

Literówki na blogach? Znalazłem świetną wtyczkę

Kto nie popełnia literówek podczas pisania wpisów na blogu, niech pierwszy rzuci kamień. Jedni mniej, inni więcej, ale każdemu się zdarza. Piszesz coś na szybko, nie czytasz przed kliknięciem „Opublikuj”, ale oczywiście za chwilę i tak otwierasz swój wpis i czytasz z wypiekami, jakiż to wspaniały tekst udało ci się wysmarować 😉

A tu – literówka.

Psia mać. I teraz trzeba wrócić do edycji, zaczekać aż się załaduje, znaleźć błąd, „Aktualizuj”… Przyznam, że wiele razy w takiej sytuacji po prostu machnąłem ręką.

Na szczęście znalazłem świetną wtyczkę do tego. Nazywa się Front End Editor i jest tak prosta, że aż genialna. Po instalacji, gdy czytasz swój blog będąc zalogowanym, każdy wpis można edytować niemal na bieżąco. Myszka nad błędny tekst, klik w edit obok niego, poprawiamy błąd i klik w zielony ptaszek by zatwierdzić zmianę. Czy może to być prostsze? (Owszem może, ale i tak jest ślicznie).

Polecam wszystkim zdecydowanie. Wtyczka potrafi nieco więcej (edycja nie tylko tekstów, ale i tytułów, wstawianie zdjęć a nawet edycja istniejących, zmiana ikon wpisu…) jednak i dla samego poprawiania treści warto ją mieć.

P.S. W tym wpisie już poprawiłem trzy błędy w ten sposób. A te post scriptum także jest dopisywane już po opublikowaniu 🙂0

Zrobiłem sobie nową skórkę

Od jakiegoś czasu zachwycam się jednokolumnowymi, prostymi w wyglądzie blogami. Przez cały czas w wolnych chwilach rysuję sobie w Gimpie kolejne pomysły na design. Zawsze mi to wychodziło fatalnie, więc nigdy nie wyszło poza konceptualny plik graficzny.

Tym razem jednak pomyślałem, że to może się udać. W sobotę rano zacząłem rysować, dokończyłem już w HTMLu i CSS. W sobotę wieczór zmieniłem w wordpressowy szablon, dziś trochę go jeszcze dopieściłem i oto jest. Jak Wam się podoba?

Miało być skromnie i jest skromnie. Wiem jednak, że wielu rzeczy jeszcze brakuje. Na głównej stronie z listą wpisów przydałby się na końcu treści link do skomentowania. Coś jeszcze, biorąc pod uwagę, że ma być niezbyt kolorowo i pstrokato?

Sama skórka ma zdefiniowanych aż 7 obszarów do wyświetlania widgetów – na wszelki wypadek. Teraz wykorzystuję dwa, jeden widzicie, czy ktoś z Was zgadnie, gdzie jest drugi? 😉0

Czy z WordPress 3.1 zniknęły Własne Pola (Custom Fields)?

Dzieje się w sieci, to czego się spodziewałem: od czasu wydania WordPressa w wersji 3.1 na różnych forach trafiam na pytanie „gdzie się podziały „Własne Pola”?”. Czy zostały usunięte?

Odpowiedź brzmi: nie, zostały jedynie ukryte. Oto szybka instrukcja jak je ponownie pokazać.

Będąc w trakcie edycji wpisu lub strony spójrz w prawy górny róg ekranu. Zobaczysz tam odnośnik „Opcje ekranu” (Screen Options). Kliknij w nią i zobaczysz specjalne menu, w którym można wybrać co chcemy aby wyświetlało się, a co nie. Włącz w tym miejscu „Własne pola”, a znów pojawią się pod polem dodawania treści wpisu.

Obrazkowo wygląda to tak:

Jak włączyć własne pola w WordPressie?

Jak włączyć własne pola w WordPressie?

Wraz z WordPressem 3.1 ekrany edycji wpisów zostały uproszczone. Zniknęły (zostały ukryte, bowiem tak naprawdę nadal istnieją i działają) nie tylko owe własne pola, ale i Wypis (Excerpt) i kilka innych rzeczy. Choć moje wtyczki silnie wykorzystują custom fields, to jednak jestem zwolennikiem ich ukrycia.

Przeciętnemu użytkownikowi nie są do niczego potrzebne, a jedynie sprawiają wrażenie, że WP jest trudny. Dopiero dzięki wtyczkom je wykorzystujemy. Tu właśnie pojawia się zgrzyt w postaci coraz częstszych pytań jak mam sobie włączyć te pola / wtyczka nie działa bo ich nie ma. Jednak wierzę, że twórcy wtyczek z czasem dostosują się do nowych warunków.

Jak? Wykorzystując tak zwane ‚custom meta box’. Tu możecie sobie o tym poczytać, a ja się przygotowuję powoli do opisania jak to zrobić szybciej, wygodniej i ładniej.0

Nadszedł ten dzień: zostałem spiracony :)

Jak to było? „Naśladowanie jest najwyższą formą uznania”? Czy jakoś tak.

Wiecie wszyscy dobrze, że jestem autorem wtyczki WP-Sprzedawca, right? Wiecie o tym, że pomysł na wtyczkę narodził się na wordpressowym forum GoldenLine? Najwidoczniej przynajmniej jedna osoba o tym nie wiedziała. I teraz będzie miała problemy 😉

Wszedłem sobie dziś jak co dzień na owe forum, tam zajrzałem do jednego z wątków i oto co zobaczyłem:

Pomyślałem sobie: shit, mam konkurencję. Ktoś zrobił dokładnie taką samą wtyczkę jak ja, też można zablokować dostęp do treści. Też można kazać zapłacić za pobranie pliku. Też wykorzystuje Dotpay jako kanał płatności…

Zaraz, czy ten opis mi czegoś nie przypomina? Jakbym go gdzieś już czytał… Szybki rzut okiem na opis mojej wtyczki:

Przypadek? 🙂 Niby przecież „gdyby tysiąc małp przez tysiąc lat… i tak dalej”. Czy jednak nasz freelancer Artur jest małpą?

Teraz się zastanawiam co zrobić z panem Arturem. W komentarzach zbieram Wasze pomysły jakby tu pogratulować naszemu młodemu przedsiębiorcy. Najfajniejszy pomysł jeśli nie zastosuję, to na pewno jakoś nagrodzę 🙂 Wymyślcie coś z jajem.

Ja tymczasem idę sobie kupić na Allegro moją wtyczkę i postaram się wynegocjować od sprzedawcy obniżenie ceny do zera 😉

A jeśli ktoś z Was naprawdę chce mieć taką wtyczkę i to taniej (biznesman Artur sprzedaje ją za dwie dychy, podczas  gdy u mnie jest za 15 PLN) i do tego chce mieć do niej wsparcie techniczne (ciekaw jestem co zrobi Artur, syn Bębenkowskiego gdy ktoś zgłosi mu jakiś problem techniczny) to zapraszam do zakupu 🙂

Innych potencjalnych piratów informuję, że mam jeszcze jedną wtyczkę, którą można by opchnąć za jeszcze większą kwotę na Allegro. TradeMatik to bowiem taka wtyka, że pójdzie spokojnie za 100 złotych za sztukę, a na sam jej widok kobiety mdleją i rzucają się na szyję jej twórcy (true story)

 

P.S. Na początek pomóżcie zrobić szum i wykopcie to 🙂0

Jestem już chyba w księgarniach :)

Na Flakerze pojawiło się takie oto zdjęcie:

KS Ekspert

KS Ekspert

Ale fajnie 🙂 Nie wiem skąd ono, czy z redakcji, czy już z półki w księgarni. Jeśli z półki to lecę zobaczyć 🙂 Najpierw się jednak dopytam, bo jestem przeziębiony i wolę niepotrzebnie z domu nie wychodzić 🙂0

Wszystko, co chcecie wiedzieć o tłumaczeniu wtyczek w WordPressie

Ile razy nie przysiadam do internacjonalizacji wtyczek zrobionych przeze mnie, zawsze musze grzebać w zakładkach jak to się robiło. Część rzeczy pamiętam, część muszę przeczytać jeszcze raz. Jak na złość nie ma strony, która gromadzi te wszystkie informacje w jednym miejscu. O poEdit gdzie indziej, o load_plugin_textdomain gdzie indziej…

Już dawno chciałem spisać to sobie wszystko w jedną całość i tak właśnie zrobiłem. Przygotowałem PDF z wszystkimi wskazówkami dotyczącymi tłumaczenia. I od razu pomyślałem, dlaczego by się tym z innymi nie podzielić? 🙂

Zapraszam do chyżego ściągania.

[download id=”1″]

Plik PDF jest za darmo. Myślę, że można go potraktować jako kolejną część mojego tutorialu o tworzeniu wtyczek w WordPress0

A wiecie już, że piszę książkę?

Tym się chyba jeszcze nie chwaliłem, a może warto. Nie, nie będzie to książka o Rwandzie, a o… (tadam, jakże by ostatnio miało być inaczej) WordPressie 🙂

Jakiś czas temu zwróciło się do mnie wydawnictwo AxelSpringer z pytaniem czy nie pomógł bym przy tworzeniu kolejnego poradnika z serii KS Ekspert. Tym razem właśnie chodzi o WordPressa. Miałem nadzieję, że napiszę całość (zwłaszcza, że stawka "za stronę" jaką mi zaproponowano bardzo mi odpowiada), ale ostatecznie stanęło na dwóch rozdziałach. Też dobrze. Jeden będzie (a właściwie już jest, bo skończyłem go pisać) o tworzeniu skórek w WordPressie, drugi (jeszcze przede mną) wstępnie można nazwać "praktyczne rozwiązania w wordpressie" i będę w nim tłumaczył jak na bazie WordPressa stworzyć specyficzne rodzaje stron, czy specyficzne działy na naszej stronie (dział pobierania plików, portfolio naszych zdjęć…).

W całości najtrudniejsze jest dostosowanie się do narzucanych przez wydawnictwo reguł. Dostałem cały kodeks zasad pisania i muszę się go trzymać. Nie  jest to tragiczne, ale troche spowalnia prace. Myślę jednak, że ostatecznie wyjdzie to na korzyść czytelnikom – książki KS Ekspert miałem już w swoihc rękach i faktycznie charakterystyczny styl pisania w nich ułatwia kontakt między autorem a właśnie odbiorcą. 

Kiedy książka się ukaże – nie wiem. Ale na pewno Was poinformuję 🙂

0

Filmy z WordCampu

Osoby, które nie były, osoby, które były, ale chcą zobaczyć jak wypadły jako prelegenci lub po prostu "przeżyć to jeszcze raz" informuję, że wszystkie filmy z WordCampu są już dostępne w sieci w serwisie YouTube.

Na początku miałem się nie przyznawać, ale jak na siebie patrzę z boku to jednak wypadłem przynajmniej średnio a nie fatalnie, jak o sobie myślałem. Na ekranie nie widać jaki zestresowany byłem w środku (jednak widać, że stres ów odbił się na jakości merytorycznej wystąpienia). 

W sobotę jestem od części 18. W niedzieli jeszcze siebie nie znalazłem 🙂

0

Dojazd na WordCamp z Białegostoku przez Warszawę (i inne miasta)

W sieci pojawiają się już wątki komunikacyjne* odnośnie dojazdu na WordCamp wspólnym samochodem. Pomyślałem, czemu by nie zapytać? 🙂 

Nie mam samochodu, ale jadę do Łodzi w piątek przez Warszawę z Białegostoku. Jeśli ktoś po tej trasie będzie także jechać i chce zabrać pasażera, to zapraszam do kontaktu 🙂 kkarpieszuk@gmail.com

Jak się nikt nie zgłosi, jutro, tak jak planowałem, idę kupić bilet na pociąg.

*) Inne propozycje wspólnej jazdy, jakie widziałem:

Z Legnicy/Wrocławia jest tutaj: http://www.wordpress.org.pl/Dojazd-na-WordCamp-Polska-t11498.html

Z Krakowa jest tutaj: http://wordcamp-polska.pl/aktualnosci/program-konferencji/ oraz tutaj http://www.goldenline.pl/forum/1352018/spotkanie-fanow-wordpressa/s/3#38700380 

0

Ktoś od kogoś ściąga? ;)

Obudził mnie dziś rano wpis na Facebooku, w którym Paweł Lipiec informuje nas – organizatorów WordCampa (to już ten weekend!) – że felernie wybraliśmy sobie datę, bo w tym samym czasie odbędzie  się Blog Forum Gdańsk 🙂 A ja się zastanawiam, czy to my źle wybraliśmy datę, czy to ktoś inny jednak był tym drugim, kto postanowił zrobić forum w tym samym terminie co my będziemy mieli swoje. 

O Blog Forum Gdańsk dowiedziałem się dopiero dziś, na trzy dni przed nim. Albo jestem źle poinformowany, albo… nie wiem. Według mnie taka informacja raczej nie powinna sama z siebie mnie ominąć, bo staram się śledzić co się blogowym świecie dzieje. (Co więcej wrzuciłem informacje o tym na naszą listę mailingową organizatorów i także  nikt z nas wcześniej o tym nie wiedział). Czy ktoś z Was może wiedział o tym i może zdradzić od kiedy to jest w sieci?

Właśnie – strony internetowe 🙂 Tutaj jestem niemal pewien, że  ktoś najpierw usłyszał o nas, a potem wpadł na pomysł by w tym samym czasie zrobić podobną imprezę. Spójrzcie na naszą stronę, na dział Materiały, a potem na stronę Blog Forum Gdańsk, ten sam dział 🙂 Plagiat to oczywiście nie jest, ale przyznacie, że przynajmniej mogli zmienić kolejność obrazków do pobrania 😉 Albo jakoś bardziej inaczej podpisać. To nie może być przypadek, że dwie różne firmy zrobiły tak podobne strony i żadna wcześniej nie widziała poprzedniej. A że my jesteśmy czyści – w sensie, że nie ściągaliśmy od nich – jestem dość mocno przekonany 🙂

No nic. Do zobaczenia już w sobotę! 😉

0

ScribeFire dla Chrome – zobaczmy czy to działa

Zainstalowałem sobie właśnie wtyczkę ScribeFire dla Chrome i ten wpis pisze za jej pomocą. Jeśli wpis się pojawi i nie będzie żadnych z tym problemów, to chyba można powiedzieć, że ją polecam 🙂

Ze ScribeFire miałem do czynienia ostatni raz w 2008 roku, wtedy jako wtyczką do Firefoksa. Nie przypadł mi do gustu, bo działał kiepsko. Jeśli jednak od tamtej pory coś się zmieniło, mam nadzieję, że da się go używać.

Czym jest ScribeFire? To wtyczka umozliwiająca publikowanie wpisów na własnym blogu (nie tylko opartym na WordPress) bez konieczności logowania się do panelu administracyjnego, odnajdywania odpowiedniej strony itd. Klikamy guzik wtyczki i już mamy okno edycji wpisu. Jeśli przy wtyczce zostanę dlużej, spodziewajcie się tutaj więcej krótkich notek – do tej pory przed zamieszczaniem ich powstrzymywała mnie właśnie konieczność odbębnienia tego calego rytuału logowania – pisania – publikowania. 

0

WPzlecenia.pl idzie w komercję ;)

Pisałem już Wam o moim serwisie wpzlecenia.pl, w którym każdy będzie mógł dodać za darmo zlecenie związane z WordPressem i każdy za darmo takie zlecenie będzie mógł przeczytać? Serwis działa, moje podejście do darmowości w nim się nie zmienia, jednak chce spróbować zarobić w nim przynajmniej na utrzymanie i motywację do dalszego rozwoju 🙂

Przygotowałem ofertę reklamową na WPzlecenia. Każdy kto chce wesprzeć tę stronę, a przy okazji wypromować się nieco może kupić jedno z trzech miejsc reklamowych (jedno z nich już zostało sprzedane). Zapraszam 🙂0

Zapomniałem powiedzieć, będzie pierwszy polski WordCamp

No tak, to się jakoś mieści w ramach powiedzeń typu szewc bez butów chodzi.

11 i 12 grudnia 2010 w Łodzi odbędzie się WordCamp – spotkanie osób, które w jakiś sposób mają coś wspólnego z WordPressem. Jeśli masz bloga opartego o tę platformę, jeśli tworzysz takie blogi czy strony, jeśli chcesz poznać inne osoby zainteresowane WordPressem a przy okazji dowiedzieć się czegoś nowego, zapraszam 🙂

Tak się składa, że jestem współorganizatorem tego wydarzenia, udzielę także dwóch krótkich wykładów. Tym bardziej wstyd, że choć całość się już organizuje od dawna, to nadal o tym nie napisałem na swoim blogu 🙂

Zatem: widzimy się w Łodzi? 😉0

Grzech śmiertelny każdego blogera

A więc  zainstalowałeś/łaś WordPressa, piszesz na nim już dziesiąty wpis i dziwisz się, że nikt nie chce komentować tego co napisałeś? Nie dziw się, zapomniałeś o jednej rzeczy.

Ja bardzo lubię komentować wpisy. Jest to jakiś tam rodzaj podziękowania za pisanie dobrych tekstów, a jako bloger wiem jak bardzo mobilizująco do pisania działa czytanie kilkunastu komentarzy pod jednym wpisem.

Tyle, że ostatnio coraz częściej odpuszczam sobie zostawianie komentarzy na cudzych blogach. Demobilizująco działa na mnie brak pola „Powiadom mnie o odpowiedziach na moje komentarze”.

Dziennie odwiedzam kilkanaście, jeśli nie kilkadziesiąt blogów. Jeśli miałbym choćby pod pięcioma zostawić komentarz, to w żadnym wypadku nie zapamiętam pod którymi to zrobiłem i na  100% nie wrócę na nie by sprawdzić czy ktoś skomentował mój komentarz. Po co więc mam włączać się do jakiejś dyskusji, jeśli zaraz sobie z niej pójdę? Zostawianie komentarza pod wpisem bez możliwości śledzenia odpowiedzi wygląda trochę jak zostawienie karteczki wsuniętej za wycieraczkę samochodu. Nie  bawi mnie to.

Natomiast jeśli gdzieś widzę pole „Powiadom o komentarzach” aż chce się włączyć do dyskusji.

Przyznam, że funkcja ta powinna być automatycznie zintegrowana z WordPressem i dziwię się, że jeszcze tak się nie stało. Na szczęście bardzo łatwo jest osiągnąć tę funkcjonalność:

I to wszystko. Pięć, dziesięć minut roboty, a zobaczysz, że nagle ludzie zaczną chętniej komentować Twoje wpisy, a jeśli pojawi się pierwszy komentarz, jest spora szansa, że posypią się kolejne.0

Przygody z Thematic cz. 2 – przenosimy menu

Czas opisać kolejne rzeczy, które możemy zrobić z skórką-szablonem jakim jest Thematic. Dziś napiszemy bardzo mało kodu (czyż to nie wspaniale?), ale nieco się rozpiszę, po to, by wyjaśnić Wam dlaczego właśnie robi się to tak, a nie inaczej.

Domyślnie w Thematicu menu znajduje się pod tytułem bloga i jego jednozdaniowym opisem. Ja jednak postanowiłem sobie, że owo menu chce mieć na samej górze strony, tak jak to teraz widzicie na blogu. Jako, że blog będzie się zmieniał, a artykuł ten ktoś może przeczytać, gdy wygląd już będzie zupełnie inny, oto dwie ilustracje.

Tak wygląda blog przed zmianami:

Menu położone pod nagłówkiem

Menu położone pod nagłówkiem

A tak będzie wyglądał na koniec:

Menu położone nad nagłówkiem

Menu położone nad nagłówkiem

Teraz chyba wszystko jest jasne, co chcemy osiągnąć. A oto opis jak to zrobić.

Firebugiem sprawdziłem w jakim miejscu kodu HTML znajduje się menu. Wynik: jest to element wewnątrz diva o id „header” i jest ostatnim elementem w tym divie (jako element rozumiem zbiór tagów HTML tworzących te menu).

Intuicja mi podpowiedziała by zajrzeć do pliku header.php Thematica. Wszystko co tam znalazłem objęte divem „header” to ten fragment:

<div id="header">
 <?php
        // action hook creating the theme header
        thematic_header();
 ?>
</div><!-- #header-->

Jak widać wiele tam nie ma. Jedna php-owa funkcja thematic_header(), która w efekcie działania tworzy wszystkie elementy wewnątrz diva. Musimy więc znaleźć tę funkcję i zobaczyć jak wygląda.

Już wcześniej przejrzałem sobie strukturę plików i katalogów thematica i wiem, że wszystkie funkcje znajdują się w plikach zawartych w katalogu /library/extensions. Akurat pliki w tym katalogu są dość logicznie nazwane i wystarczy szybki rzut okiem by domyśleć się, że funkcje pliku skórki header.php znajdują się w wyżej wymienionym katalogu w pliku header-extensions.php. Po otworzeniu pliku okazuje się, że mam rację, definicja funkcji thematic_header() wygląda następująco:

// Used to hook in the HTML and PHP that creates the content of div id="header">
function thematic_header() {
    do_action('thematic_header');
} // end thematic_header

Króciutkie i na pierwszy rzut oka może nam niewiele mówić. Trzeba więc grzebać dalej. Przyznam, że to jest moment, w którym przychodzi do głowy aby chrzanić rozgrzebywanie tego i po prostu w naszej nowej skórce ‚szkicownik’ utworzyć własny plik header.php i napisać w nim wszystko od nowa.

Takie rozwiązanie byłoby jednak okropne. Po pierwsze musielibyśmy napisać cały kod typowy dla plików header.php od nowa. Wszystkie tagi HTML, wszystkie tagi PHP, wszystkie template tagi WordPressa. Kłóci się to kompletnie z ideą instalowania Thematica – zainstalowaliśmy go bowiem po to, by uniknąć właśnie pisania kodu.

Po drugie wyobraźmy sobie, że twórcy Thematica dodają w swojej skórce jakieś ulepszenie w pliku header.php. Jeśli stworzymy własny plik header.php z owego ulepszenia nie skorzystamy. Musielibyśmy w przyszłości śledzić zmiany w skórce thematic, analizować czy dane zmiany są istotne dla naszej skórki potomnej i ręcznie nanosić je (lub nie) w nadpisanych przez nas plikach. To niepotrzebna praca. Jeśli mamy tylko jeden blog to pół biedy. Jeśli jednak jesteśmy developerami stron opartych na WP i mamy ich wiele opartych na na Thematicu, będziemy musieli poświęcić naprawdę sporo czasu na wprowadzanie poprawek, na których raczej nie zarobimy (chyba, że ciężar wprowadzania poprawek w umowie przeniesiemy na klienta, ale wg mnie jest to rozwiązanie nieuczciwe).

OK, zatem skoro już korzystamy z Thematica korzystajmy z niego prawidłowo. Spójrzmy jeszcze raz na kod powyżej.

Co robi ta funkcja? Jej działanie można sprowadzić do takiego opisu:

„Odnajdź w kodzie skórki (oraz w kodzie skórki potomnej) wszystkie wywołania add_action odwołujących się do haka o nazwie ‚thematic_header’ i wykonaj je w tym miejscu”

Innymi słowy, jeśli w kodzie thematica lub skórki potomnej występuje przykładowo kod:

add_action('thematic_header', 'nasza_funkcja');

Zostanie w tym momencie wykonana funkcja nasza_funkcja() (którą musimy gdzieś zdefiniować, jeśli jeszcze takiej definicji nie ma).

Zatem kod z pliku header.php tak naprawdę wykonuje wszystkie znalezione akcje (add_action) odwołujące się do haka „thematic_header”. Wykona akcje zdefiniowane w samym thematicu, ale także akcje jakie samemu zdefiniujemy w naszej skórce potomnej w pliku functions.php (co ciekawe zostaną także przeskanowane aktywne pluginy w poszukiwaniu odwołania do tego haka, ale tym na razie się nie przejmujmy; nadmieniam to tylko aby dać znać, że także przez pluginy możemy modyfikować skórki).

Okej, znajdźmy więc akcję, która powoduje wykonanie funkcji tworzącej menu. Dalej w tym samym pliku header-extensions.php możemy znaleźć szereg linijek powodujących wykonanie kolejnych akcji skojarzonych z hakiem ‚thematic_header’, na interesuje ta, która powoduje stworzenie elementu HTML o id „access” (czyli naszego menu):

// Create #access
// In the header div
function thematic_access() { ?>
<div id="access">
<div class="skip-link"><a href="#content" title="<?php _e('Skip navigation to the content', 'thematic'); ?>"><?php _e('Skip to content', 'thematic'); ?></a></div>
<?php wp_page_menu('sort_column=menu_order') ?>
</div><!-- #access -->
<?php }
add_action('thematic_header','thematic_access',9);

Co tu mamy? Najpierw jest definicja funkcji thematic_access(), która w ostatniej linijce jest „podhaczana” za pomocą add_action do dobrze nam już znanego haka „thematic_header”. Dziewiątka na końcu oznacza, że akcja ta ma się wykonać jako dziewiąta: jeśli gdzieś są akcje odwołujące się do „thematic_header” o niższych liczbach (a są, przejrzyjcie plik header-extensions.php), mają się one wykonać najpierw.

Jak obejrzycie plik header-extensions.php, zobaczycie, że przed wyżej zacytowanym przeze mnie fragmentem kodu są inne funkcje podhaczone w ten sposób: jest funkcja powodująca dodanie tytuły bloga, opisu bloga, kilka pomniejszych…

OK, oglądanie kodu w tym momencie możemy uznać za zakończone. Wiemy już wszystko co powinniśmy wiedzieć. Jak teraz jednak dzięki tej wiedzy dodać menu nad tytułem bloga i jak usunąć menu pod tytułem bloga?

Pierwsze co przychodzi do głowy to pliku tym po prostu zmienić cyfrę ‚9’ na mniejszą, tak aby tworzenie menu wykonało się jeszcze przed stworzeniem innych elementów (w tym tytułu naszego bloga). Kusi naprawdę, aż się chce zmienić cyferkę na ‚1’.

Jednak nie. Znów przez to zepsulibyśmy ideę Thematica: gdy w przyszłości twórcy tej skórki wydadzą jej nowszą wersję, nasza zmiana zostałaby nadpisana. Po to właśnie stworzyliśmy w poprzedniej lekcji skórkę potomną, by właśnie w niej robić zmiany bez obawy o nadpisanie ich.

Otwórzmy więc katalog naszej skórki i utwórzmy tam plik functions.php. Wewnątrz dodajmy następujacy kod:

<?php
add_action('thematic_header', 'thematic_access',1);

Banalnie proste, prawda? Spowodowaliśmy, że funkcja thematic_access() tworząca menu wykona się jako pierwsza w ramach haka ‚thematic_header’.

Odśwież teraz stronę bloga. Zobaczysz taki widok:

Menu nad nagłówkiem oraz pod nim

Menu nad nagłówkiem oraz pod nim

To nie do końca to, co chcieliśmy osiągnąć. Co prawda menu pojawiło się nad nagłówkiem, ale wciąż znajduje się także pod nim. Dzieje się tak dlatego, że akcja z pliku header-extensions.php (ta z dziewiątką) nadal się wykonuje. Musimy ją więc odwołać, a robi się to za pomocą „antyhaka” remove_action(). Dodajemy następujący kod do naszego pliku functions.php:

add_action('init', 'usun_standardowe_menu');
function usun_standardowe_menu() {
 remove_action('thematic_header','thematic_access',9);
}

Za pomocą akcji ‚init’ wywołujemy własną funkcję usun_standardowe_menu(). Funkcja ta natomiast odwołuje wszystkie akcje ‚thematic_access’ odwołujące się do haka ‚thematic_header’ z priorytetem ‚9’. W ten oto sposób powiedzieliśmy wordpresowi aby zignorował odpowiednią akcję z pliku header-extensions.php.

Proste? Oceńcie sami. Opis jaki zamieściłem jest bardzo długi, ale zauważcie, że ostatecznie piszemy tylko 4-5 linijek w naszym pliku functions.php. Najwięcej czasu zajmuje ustalenie „co gdzie i jak” jest robione w Thematicu, ale jeśli dobrze się pozna tę skórkę, w przyszłości zmiany takie jak wyżej zajmą nie więcej niż kilka minut.0

Przygody z Thematic cz. 1 – instalacja i tworzenie tematu potomnego

Jak widzicie, tak jak zapowiedziałem kilka dni temu, zniknął temat graficzny jaki był do tej pory na tym blogu i zastąpiłem go tematem-frameworkiem o nazwie Thematic. Mam zamiar go rozbudowywać dzięki tematowi potomnemu, co już powoli się dzieje. Oto pierwszy z  wpisów opowiadających o moich przygodach podczas rozwoju skórki na bazie Thematica.

Odnośnie instalacji Thematica nie mam żadnych zastrzeżeń. Przebiegła bez problemu, jak zresztą każdej innej skórki.

Założeniem Thematica jest aby skórki tej nigdy bezpośrednio nie edytować. Jeśli chcemy zmienić wygląd naszego bloga, tworzymy nowy katalog i w nim umieszczamy pliki, które będą zmieniać zachowanie i wygląd  Thematica. W takim układzie Thematic nazywany jest tematem-rodzicem (parent theme) natomiast nasza skórka modyfikująca tematem potomnym/dzieckiem (child theme). Oto jak stworzyłem temat potomny.

W katalogu ze skórkami wp-content/themes utworzyłem nowy katalog i nazwałem go ‚szkicownik’ – taką bowiem na szybko wymyśliłem nazwę dla mojej skórki.

W katalogu tworzymy plik style.css, który rozpoczyna się od komentarza informacyjnego:

/* 
Plugin Name: Szkicownik
Template: thematic
*/

Komentarz ten jak widać zawiera tylko dwie informacje (można oczywiście dodać więcej jak w zwykłej skórce):

Plugin Name – czyli informację o nazwie naszej skórki
Template – nazwę tematu rodzica. Tu ważna uwaga: pomimo tego co pisze w tutorialach w sieci, nazwa musi być podana z małej litery (a właściwie prawdopodobnie musi być taka sama jak nazwa katalogu, w którym temat-rodzic się znajduje).

Jeśli teraz włączymy naszą skórkę ‚szkicownik’, wyświetli nam się strona kompletnie bez stylów. Prawidłowo. Od tej pory WordPress wszystkie pliki szkieletu strony (index.php, header.php, sidebar.php, footer.php) bierze z katalogu skórki Thematic, natomiast style z katalogu skórki Szkicownik. Jako, że plik style.css w katalogu ‚szkicownik’ nie zawiera żadnych definicji, strona wyświetla się goła.

Możemy w tym momencie zacząć albo samemu definiować nowe style dla strony od początku, możemy także zaimportować style z katalogu Thematica i potem je modyfikować. Wybrałem to drugie rozwiązanie, tak aby bazować na gotowym, jako tako ładnym, choć bardzo skromnym wyglądzie.

Style importujemy przez CSSowe polecenie @import url(‚sciezka’). Thematic swoje style ma rozbite na wiele plików, każdy odpowiedzialny za co innego. Co więcej wiele plików jest w kilku wariantach i to my sami decydujemy, który z nich zechcemy użyć. Przykładowo w katalogu z Thematikiem znajdziemy plik layouts/2c-r-fixed.css, który daje nam layout z dwoma kolumnami, z których prawa ma określoną na sztywno szerokość, zaraz obok jest plik layouts/2c-l-fixed.css, który daje układ podobny, tyle, że sidebar o stałej szerokości znajduje się po stronie lewej. Sami wybieramy, który z tych (jak i kilku innych) layoutów wybierzemy.

Oto jakie pliki postanowiłem sobie zaimportować na początek:

@import url('../thematic/library/styles/reset.css');

Plik zawierający tak zwany ‚reset css’. Kto tworzy strony już zna tę metodę tworzenia CSS, a kto jeszcze nie zna, prędzej czy później pozna. Pliki reset css służą wykasowaniu wszystkich specyficznych ustawień, różnych dla różnych przeglądarek. Przykłądowo Opera inaczej niż inne przeglądarki podchodzi do problemu marginesów i paddingów elementu BODY. Zazwyczaj pisanie CSS zaczynało się właśnie od podania takiej definicji dla Opery, jak dla innych przeglądarek. I właśnie takie niwelacje przeglądarkowych niuansów gromadzi plik reset.css.

Warto tu jeszcze zwrócić uwagę na ścieżkę do pliku. Aby dostać się do katalogu Thematica, najpierw musimy wyjść z naszego katalogu ‚szkicowanik’, w którym znajduje się nasz plik style.css (stąd te dwie kropki, kłania się lekcja DOSu; ale chyba nikomu czytającemu ten tekst nie muszę tego tłumaczyć).

Kolejne importujące linijki:

@import url('../thematic/library/styles/typography.css');

Plik powyższy zawiera definicje czcionek.

@import url('../thematic/library/layouts/2c-r-fixed.css');

O tym pliku już było wyżej. To nasz dwukolumnowy layout.

@import url('../thematic/library/styles/images.css');

Plik dba o prawidłowe wyświetlanie się obrazków wstawionych do tekstu wpisu.

@import url('../thematic/library/styles/default.css');

Mało wyjaśniająca nazwa, więc wyjaśnię sam: w pliku tym mamy informacje o schemacie kolorystycznym naszej strony (czyli taki szaro-czarno-biały).

@import url('../thematic/library/styles/plugins.css');

I to plik z kilkoma definicjami stylów dla elementów HTML tworzonych najczęściej przez pluginy (np w widgetach).

I to tyle. Po dodaniu tych kilku linijek nasz temat potomny Szkicownik wygląda identycznie jak Thematic. Nic więc jeszcze tak naprawdę nie osignąlieśmy. Przygotowaliśmy jedynie szkielet tak aby w następnych krokach móc zacząć go modyfikować.

Ale o tym w kolejnych wpisach.

0

Ten zarąbisty design niedługo zniknie

Obecna skórka na moim blogu – Paper – nie ma jeszcze roku, a już postanęowiłem ją zmienić. Już jakiś czas temu dostrzegłem to, co wyście dostrzegli już dawno, mianowicie, że najładniejsza ona nie jest 🙂 Opatrzyła mi się.

Próbowałem od kilku miesięcy zrobić coś innego, projektowałem kilka skórek, kilka nawet pociąłem wstępnie ale nawał pracy nie pozwolił mi ich skończyć. Skórkę jednak chcę zmienić; wpadłem zatem na inny pomysł.

Postanowiłem, że zainstaluję sobie czystego Thematica i będę go dzień po dniu, po kawałeczku w wolnych chwilach rozwijał. Thematic bowiem jest tak zwaną „skórką frameworkiem” – daje po zainstalowaniu bardzo prosty wygląd, ale dzięki tematom potomnym można go dowolnie przerabiać – do tego właśnie został stworzony.

Zatem – jeśli nikt z Was  mnie nie powstrzyma – za kilka dni usunę obecną skórkę, zastąpi ją coś co będzie zwykłym czarnym tekstem na białym tle i będzie na Waszych oczach rozwijać się w kierunku jakiegoś designu. Jakiego  – jeszcze nie wiem, będzie to podróż w nieznane i ciekawi mnie co z tego może wyjść 🙂

Co Wy na to? Naprawdę bardzo proszę o wyrażenie swojego zdania w komentarzach o takim pomyśle. Jeśli wszyscy się skrzynką, że ta skórka ma zostać – zostawię. Z drugiej strony – choć bardzo chcę zrobić ten eksperyment – trochę mi brakuje odwagi, więc także słowa wsparcia są bardzo mile widziane 🙂

Wczoraj zapytałem o to samo na flakerze robiąc tam ankietę. 91% osób powiedziało, że to bardzo dobry pomysł, 9% że skórkę powinienem zmienić, ale na jakąś ostateczną, a calutkie 0 (zero) osób stwierdziło, że obecna skórka im się podoba 🙂 To jednak Wy jesteście czytelnikami tego bloga, więc chcę wysłuchać Waszej opinii 🙂0

O kurczaki, mój blog nie jest mój!

To będzie wpis o tym, że jak instalujesz mnóstwo pluginów i skórek do WordPressa, któregoś dnia może się okazać, że zostałeś zhakowany.

Niewiele osób wie jak wiele może zrobić twórca skórek czy pluginów do WordPressa (ale od razu mówię – ten tekst mógłby być o dowolnym systemie CMS), w tym także jak wiele złych rzeczy może zrobić.

Wyobraź sobie, że znajdujesz w sieci rewelacyjny plugin, który sprawi, że – wymyślam na poczekaniu – pod twoimi wpisami będą pojawiać się wpisy z nim powiązane. Instalujesz go i faktycznie – pod każdym wpisem pojawiają się odnośniki do innych wpisów z Twojego bloga. Plugin więc spełnia swoje działanie.

Tymczasem jednak twoja strona z dnia na dzień zostaje wyrzucona z indeksu Googla. Osoby, które zamieściły kiedykolwiek komentarz na Twoim blogu (a więc także podały swój adres email) codziennie z Twojej domeny dostają dziesiątki spamów. Któregoś dnia nie możesz zalogować się do panelu administracyjnego, a za kilka kolejnych dni znikają Twoje wszystkie wpisy, a zamiast nich blog jest pełen reklam viagry i podrabianych roleksów. Twój blog nie jest już twój.

Brzmi nieprawdopodobnie? Uwierzcie mi, że jest to jak najbardziej możliwe, a co więcej właściciel sam jest sobie winien doprowadzenia do takiej sytuacji. I to niezależnie od tego czy korzystamy z WordPressa, Joomli, Drupala czy czegokolwiek innego. Ja akurat piszę o WordPressie, bo nim się zajmuję.

Częścią z moich zadań jest właśnie ratowanie blogów z podobnych opresji jak te opisane wyżej. Widziałem już w kodach pluginów, skórek (skórka to tak naprawdę z grubsza także plugin) czy też innych dodatków wiele mniej lub bardziej zaevalowanych instrukcji, które mają za zadanie po cichu zrobić krzywdę właścicielowi strony (a właściwie raczej przynieść korzyść twórcy dodatku kosztem właściciela strony).

Dowolny plugin czy skórka poza robieniem tego, do czego zostały stworzone według opisu na stronie dodatku może w ukryciu robić dosłownie wszystko z Twoją stroną. Najczęściej ogranicza to się do z pozoru niewinnego dodawania odnośników pozycjonujących w stopce strony, jednak i takie działanie czasami może dla nas źle się skończyć – Google potrafi wyrzucić ze swojego indeksu takie strony, zwłaszcza jeśli inne odnośniki w  stopce są serwowane dla czytelników strony, a inne dla robota google. Czy tak się właśnie dzieje, przeciętny użytkownik wordpressa jednak wiedzieć nie może.

Na szczęście jest kilka mniej lub bardziej prostych sposobów aby ustrzec się przed zhakowaniem naszej strony w ten sposób. Oto one.

  • Nie instaluj wszystkiego co znajdziesz w sieci! Jeśli tak robisz, aż się prosisz o kłopoty. Ja jeśli znajduję jakiś nowy plugin najczęściej czytam jego kod aby zobaczyć co mniej więcej robi, potem instaluje na wordpressie testowym i dopiero wtedy – jeśli zdecyduje, że jego funkcjonalności są mi przydatne – ląduje on na muzungu.pl
  • Jeśli szukasz pluginów lub skórek, szukaj ich w pierwszej kolejności w repozytorium WordPressa. Teoretycznie zanim autor wtyczki/pluginu doda go do owego repozytorium, administrator serwera przegląda jego kod w poszukiwaniu niebezpiecznych jego fragmentów, a zatem jesteśmy nieco bezpieczniejsi. (Niestety nie jest to zabezpieczenie doskonałe, bo złośliwy kod i w takiej sytuacji da się przemycić)
  • Jeśli już musisz zainstalować coś spoza repozytorium, wybieraj skórki i pluginy bardziej popularne, których autor jawnie podpisuje się pod swoim dziełem. Taka osoba raczej nie odważy się na próbę wstrzyknięcia złośliwego kodu i utratę reputacji.
  • Przynajmniej pobieżnie obejrzyj kod wszystkich plików składających się na skórkę lub plugin. Otwórz je przed instalacją choćby zwykłym notatnikiem i wyszukaj frazy ‚eval’ i ‚base64_decode’. Jeśli je znajdziesz, zrezygnuj z instalacji (jednak ich obecność nie musi oczywiście od razu oznaczać złych intencji twórcy).

Nie byłbym sobą, jeśli nie pozwoliłbym bym sobie na małą reklamę 🙂 Jeśli nie jesteś pewien czy twoja skórka i zainstalowane już pluginy są bezpieczne, napisz do mnie a za opłatą zajmę się takim audytem. Jeśli nie chcesz mi tego zlecać, proponuję dodać takie ogłoszenie na WPzlecenia.pl – na pewno ktoś się tym zajmie.

W jednym z kolejnych wpisów opiszę w jaki sposób ratować wordpressa gdy został już zarażony. Nie  jest to zadanie proste, jednak wykonalne. Nie zapomnij dodać do swojego czytnika mojego kanału RSS aby nie przegapić tego zapowiadanego wpisu 🙂0

Przypadkiem uruchomiłem WPzlecenia.pl

Dwie rzeczy sprawiły, że wystartował w poniedziałek serwisik (a przyszłości – ogromny portal freelancerski) pod zdradzającym funkcję tytułem Wpzlecenia.pl.

Pierwsza rzecz to mój wpis sprzed tygodnia, w którym radziłem Wam, gdzie freelancer może szukać zleceń związanych z WordPressem. Zacząłem się po nim zastanawiać dlaczego nie ma jeszcze takiego serwisu jak Wpquestions.com, ale dla osób, które wolą wszystko robić w granicach Polski; przynajmniej w językowych granicach.

Druga rzecz to coponiedziałkowy natłok maili na skrzynce. Powoli wychodzę już z fazy freelancingu, w której freelancer rzuca się na każde zlecenie, robi ich 4-5 równocześnie i w efekcie zawala terminy i część zleceń – co tu ukrywać – jednak robi tak, że potem poprawki zajmują więcej czasu niż samo zlecenie. Dlatego postanowiłem sobie, że nie więcej niż jedno duże zlecenie na raz. Szkoda nerwów.

W poniedziałek więc odpisywałem ludziom, że jeśli chcą to i owszem, mogę się zająć ich zleceniem ale najwcześniej gdzieś w okolicach końca czerwca. Wtedy właśnie przyszła mi myśl: może czas na polski serwis wp-lancerski? (właśnie wymyśliłem to słówko, fajne, nie?)

I tak oto po kilku godzinach (najwięcej zajęło dodanie formularza dodawania zleceń) działa: wpzlecenia.pl. Zapraszam, oczywiście całość za darmo i nie planuję zarabiać na tym póki co. Jest już nawet pierwsze zlecenie (prawdę mówiąc myślałem, że z 2 tygodnie będzie tam pusto), ale z tego co wiem, wykonawca już się znalazł po kilku godzinach.

Aha, mam do Was prośbę. Czy możecie mi pomóc w wypromowaniu tego serwisu? Jak wspomniałem całość działa za free dla użytkowników, więc fajnie by było jakby ktoś to docenił. Jak możecie pomóc?

Jeśli masz stronę wu wu wu: wklej proszę gdzieś ten krótki kod html:

<a href=”http://wpzlecenia.pl” title=”Wordpress zlecenia”>WPzlecenia.pl – płatne wsparcie dla WordPress</a>

Jeśli macie jakiegoś bloga, szczególnie na WordPressie, może choć krótko wspomnicie, że jest taka strona jak Wpzlecenia.pl? Nie zapomnijcie w tekst wpleść takich zwrotów „jak rewolucja w polskim internecie”, „najlepszy startup 2010 roku”, „miażdżący pomysł” itp itd 😉 A tak poważnie, napiszcie cokolwiek.

Jeśli macie konto na facebooku, można zostać lubisiem tej strony. Tutaj.

I przede wszystkim: dodawajcie tam zlecenia lub zaglądajcie sprawdzając czy są nowe 🙂0

Gdzie freelancer może znaleźć zlecenia związane z WordPressem?

Postanowiłem choć trochę i przez chwilę nie być psem ogrodnika i podzielę się z Wami informacjami, gdzie w sieci są dedykowane miejsca, w których każdy, kto zna WordPressa choć trochę bardziej niż na poziomie dodawania do niego wpisów i zmieniania opcji w Kokpicie, może zarobić trochę grosza. Niestety miejsc takich nie jest dużo (a może po prostu ja nie znam więcej?)

Jobs.Wordpress.net

To chyba najpopularniejsze miejsce. Codziennie pojawia się około 10 ogłoszeń ze zleceniami, których charakter jest naprawdę różny. Od prostych próśb o modyfikację stylów, po zlecenia stworzenia zaawansowanych serwisów społecznościowych w oparciu o BuddyPress. Przy ogłoszeniach nie są publikowane budżety, jakie zleceniodawcy są w stanie nam zaoferować, więc odpisując na ogłoszenie sami musimy napisać ile sobie za naszą pracę liczymy (ja także dodaje termin wykonania prac). Dodatkowym plusem jest to, że w serwisie nie musimy sie rejestrować. To zwyczajna tablica ogłoszeń, na którą każdy może wysłać ogłoszenie podając dane kontaktowe (email) i my te dane widzimy od razu.

Mniej więcej rok temu dość intensywnie korzystałem z tego serwisu i przyznam, że niektóre ogłoszenia udało mi się przechwycić. Dużym utrapieniem jest jednak spora liczba ogłoszeń od ludzi – pośredników. Wiele bowiem osób wyłapuje lepiej płatne zlecenia odnośnie wordpressa w serwisach ogólno-freelancerskich (jak np elance.com) udając, że się zna na WordPressie, a gdy takie ogłoszenie mu się dostanie, wtedy szuka podwykonawcy  na jobs.wordpress. Komunikacja w takim wypadku jest fatalna, ostatecznie zlecenie okazuje się dotyczyć czegoś zupełnie innego niż pierwotnie i szczerze nigdy nie udało mi się go sfinalizować. Tak więc z miejsca odradzam przyjmować zlecenia z jobs.wordpress od osób, których nazwisko lub email wskazują, że są hindusami (przepraszam  za ten nacjonalizm, ale każda lepiej zorientowana osoba, wie jaka jest rola hindusów w informatycznym outsourcingu: to zleceniobiorcy, a nie zleceniodawcy).

Obecnie ze strony nie korzystam już w ogóle, bo jestem w tej komfortowej sytuacji, że (odpukać) nie muszę szukać klientów, a to klienci sami mnie znajdują.

WP Questions

Strona mniej popularna, ale musze przyznać, że ogłoszeń jest tam już coraz więcej. Kiedyś jak startowała było jedno ogłoszenie na kilka dni, obecnie jest już nawet kilka dziennie.

Strona działa zupełnie inaczej niż poprzednia. Trzeba się zarejestrować (zarówno zleceniodawcy jak i -biorcy), zleceniodawca dodając pytanie od razu wyznacza ile chce zapłacić temu, kto mu pomoże. Następnie wszyscy mogą w określonym czasie zamieszczać (jawnie w postaci komentarzy) swoje odpowiedzi na pytanie i na koniec zleceniodawca decyduje komu zapłaci (a zapłacić komuś musi, bo zadając pytanie dokonuje przedpłaty na konto WP Questions, serwis ten zresztą pobiera swoją prowizję).

Czy jest to skuteczne, nie wiem 🙂 Zawsze gdy tam zajrzę jest już tyle odpowiedzi na pytanie, że nie chce mi się dopisywać kolejnej. Widziałem, że Wojtek czasem udziela tam odpowiedzi, więc może wypowie się czy udało mu się coś w ten sposób zarobić 🙂

* * *

To wszystkie mi znane serwisy. Bierzcie i korzystajcie, albowiem jak napisałem, ja już z nich nie korzystam, nie muszę.

A może ktoś zna inne miejsca gdzie wordpressową wiedzę można realnie spieniężyć? Oczywiście wszystkie większe strony freelancerskie mają dział odnośnie wordpressa (jak wspomniany przeze mnie wyżej Elance), ale jeśli ktoś ma jeszcze coś do dodania, zapraszam do podzielenia się tym w komentarzach!0

Jak zrobić żałobne obrazki na stronie?

W sieci zapanowała szarość. Jeśli jesteś webmasterem i też chcesz okazać szacunek wobec zmarłych na swojej stronie, jednak nie chcesz na stałe zmieniać wszystkich obrazków na stronie na odcienie szarości, znalazłem dwulinijkowy sposób w javascript pozwalający na żywo zamienić wszystkie obrazki ze znacznika <img> tak aby były pozbawione kolorów.

Po kolei.

Wchodzimy na stronę pixastic i pobieramy skrypt. Na stronie jest fajny konfigurator, który pozwala pobrać tylko co nam potrzebne. Jako, że niemal każdy chyba na wordpressie ma aukatywnione jQuery, polecam zaznaczyć opcje ‚Pixastic Core’, ‚jQuery plugin’ i ‚Desaturate’.

Pobrany plik umieść na serwerze i w nagłówku strony podlinkuj go (zakładam, że masz podłączone także jQuery).

W stopce strony dodaj skrypt js:

$d = jQuery.noConflict; 
$d("img").pixastic("desaturate");

I to wszystko.

Oczywiście skrypt nie załatwia wszystkiego. Nadal pozostaną kolory czcionek czy tła zdefiniowane w CSS, także obrazki tła nie zostaną podmienione.

Jak działa skrypt możecie zobaczyć na stronie HR Standard0

Zrób sobie własny cache w WordPressie

Pluginów do cache’owania stron stworzonych w WordPress jest wiele. I całe szczęście, bo niestety są sytuacje, w których WordPress ma spore problemy z prędkością. Niestety jak do tej pory nie udało mi się znaleźć rozwiązania idealnego. Dlatego też chcę przedstawić własne rozwiązanie, pomagające przyspieszyć generowanie stron unikając zbytniego mielenia funkcjami php i odpytywania bazy danych.

Podstawowym problemem wszystkich pluginów jest fakt, że cache’owania jest fakt, że strony są przechowywane w całości. Plugin raz na jakiś czas generuje całe strony i dopiero po określonym odstępie czasu generowanie się powtarza. To sprawia sporo problemów z choćby obsługą ciasteczek: nie można rozpoznawać użytkownika po ciasteczku i wysyłać mu spersonalizowanej strony, bo WordPress z takim pluginem do wszystkich wysyła takie same strony.

Oczywiście są metody na obejście tego, jednak każda ma jakieś wady. Można w ustawieniach pluginu zarządać aby nie cache’ował poszczególnych stron, nie działał gdy użytkownik jest zalogowany, można też w WP Super Cache użyć odpowiednich hacków. Jednak zawsze oznacza to całkowite wyłączenie cache’owania. Cała strona jest cache’owana lub niecache’owana.

A co jeśli by podejść do zagadnienia pregenerowania zawartości nieco inaczej? Czy na pewno musimy pregenerować całe strony od <html> do </html> ?

Odpowiedź brzmi: oczywiście nie. Skoro szablony i tak mamy rozbite na najczęściej 5 plików – header.php, index.php, sidebar.php, footer.php i style.css, index.php włącza w siebie pozostałe pliki wcześniej je generując (za wyjątkiem oczywiście pliku stylów, ten jest statyczny), czy na pewno na przykład header.php musi być generowany za każdym razem? Nawet jeśli musi (bo na przykład ma odwołania do plików JS zależnych od zawartości konkretnej strony): czy każdy fragment takiego pliku musi być generowany za każdym razem? Jestem niemal pewien, że obecny w chyba każdym pliku nagłówka kod bloginfo(‚charset’) generuje zawsze to samo od powstania blogu, aż do jego „śmierci”.

Można też znaleźć i dłuższe, bardziej złożone fragmenty kodu php, który tak naprawdę generuje zawsze to samo, a przynajmniej nic nie stoi na przeszkodzie aby wygenerowana zawartość odświeżała się powiedzmy raz na godzinę. Czy masz w sidebarze swojego bloga jakiś widget wstawiający zawsze te same reklamy? Dlaczego więc WP miałby przy każdej odsłonie strony odpytywać bazę danych co ma do tego widgetu wstawić?

Mam nadzieję, że już rozumiecie na czym polega problem. A rozwiązaniem jest: cache’owanie fragmentów strony, a nie całości.

Jak to zrobić?

1.

Do swojego pliku functions.php w katalogu skórki dodaj następujący kod:

function mincache($whatto, $howlong = '15', $work = TRUE) {
if ($whatto == '') {
exit ('Please specify name of cached code');
}

if ($howlong == '') $howlong = '15';

$folder = trim(parse_url(get_bloginfo('template_directory'), PHP_URL_PATH), '/');
$cachefile = $folder.'/mincache/'.$whatto.'-cached.html';
$cachetime = $howlong * 60;

if ($work == TRUE && file_exists($cachefile) && time() - $cachetime < filemtime($cachefile)) {
    include($cachefile);
    echo "\n";

}

else {
$includedFile = 'inc.'.$whatto.'.php';
ob_start();

include_once($includedFile);

$fp = fopen($cachefile, 'w');
fwrite($fp, ob_get_contents());
fclose($fp);
ob_end_flush(); 
}

}

2.

W katalogu skórki utwórz katalog o nazwie mincache i nadaj mu uprawnienia do odczytu i zapisu.

3.

Kod, jaki chcesz aby był cache’owany wytnij z pliku php i wklej do nowego pliku i nazwie stworzonej według struktury inc.nazwa.php. Pod nazwa wpisz co chcesz.

4.

W miejsce skąd wyciąłeś ów kod wklej:

mincache('nazwa')

I to wszystko. Teraz zawartość przeniesionego kodu do pliku inc.*.php będzie generowana tylko raz na 15 minut.

* * *

Nieco więcej o stworzonej właśnie funkcji mincache():

mincache($whatto, $howlong, $work)

Jak widać funkcja może przyjmować trzy parametry:

$whatto – nazwa fragmentu kodu który ma być szukany w pliku inc.*.php. Musi więc istnieć plik inc.{$whatto}.php, parametr ten jest bowiem obowiązkowy (inaczej funkcja nie będzie wiedziała co cache’uje.

$howlong – jak długie powinny być odstępy między kolejnymi generowaniami kodu statycznego, w minutach. Domyślnie: 15 minut.

$work – wartość logiczna true/false czy ma próbować pobrać kod z pliku statycznego (true, domyślnie ustawione) czy też za każdym razem generować go od nowa (false). Parametr ten dodałem abyście mogli w czasie prac nad stroną chwilowo wyłączać działanie cache (wartość FALSE).

* * *

I na koniec jeszcze raz konkretny przykład. Załóżmy, że chcemy aby sidebar generował się jedynie raz na pół godziny.

Wykonaj punkty 1 – 2 opisane powyżej.

Otwórz plik sidebar.php, wytnij jego całą zawartość i zastąp:

<?php mincache('sidebar', '30') ?>

Utwórz plik inc.sidebar.php w katalogu skórki i wklej do niego całą zawartość wyciętą przed chwilą z sidebar.php.

I to wszystko. Od teraz sidebar będzie się generował jedynie raz na pół godziny, co na pewno skróci czas ładowania strony. 0

Umarł WordPress, narodził się Drupal?

Nie, nie 🙂 Na pewno nie umarł 🙂 Nie po to poświęciłem cały rok na dogłębne poznawanie WordPressa abym teraz o nim zapomniał. WordPress znam już bardzo dobrze, tak dobrze, że kilka tygodni temu zacząłem się zastanawiać czy mógłbym go poznać bliżej. Doszedłem do wniosku, że w sferze tworzenia skórek, pisania pluginów wiem lub potrafię wygooglać już wszystko. Kolejny krok to zaangażowanie się w prace nad plikami rdzenia wordpressa, a to mnie z praktycznych powodów nie interesuje. Zatem z zawodowego punktu widzenia „wiem” już wszystko, co jest mi potrzebne do tworzenia strona na WordPressie.

Co więc dalej? Jeśli chodzi o WordPressa, nadal będę wszem i wobec krzyczał, że jeśli ktoś potrzebuje jakiejś z nim związanej pomocy, niech nie waha się do mnie pisać na maila. W wolnych chwilach będę rozwijał WP Sprzedawcę, myślę też nad stworzeniem alternatywnego panelu administracyjnego dla WordPressa. WordPress jest już dość dojrzały, jeśli chodzi o zastosowania jako CMS, ale kuleje jego Kokpit, który dla zwykłego użytkownika jest zwyczajnie trudny. Jeśli klient nigdy dotąd nie używał WP do skończonej pracy muszę dołączać obrazkowy tutorial jak się w nim poruszać.

Dlatego myślę nad stworzeniem czegoś co miałoby zastąpić katalog /wp-admin (a właściwie byłby to kolejny katalog dogrywany do WordPressa) zawierającego w sobie uproszczoną wersję Kokpitu. Fajnie jakby w ogóle to nie przypominało Kokpitu, a było stroną z aktualnie używaną skórką, tyle, że  z jakimś menu na górze, a każdy element strony można by kliknąć i edytować on the fly. Co o tym myślicie?

* * *

Ale nie samym WordPressem człowiek żyje. Postanowiłem też przyjrzeć się bliżej jakiemuś CMSowi z prawdziwego zdarzenia. Obecnie chyba najpopularniejszy to Joomla, jednak tak często widzę w sieci jego krytykę, że nawet nie chcę się za niego brać.

Coraz częściej do moich uszu zaczęła dochodzić nazwa Drupal. A to ktoś gdzieś napisał (chyba na flakerze), że WordPress w końcu ma coś, co Drupal ma od dawna i bardzo tego w WP brakowało. Ostatecznie do mojej wizyty na stronie Drupala przyczyniła się publikacja jakichś wyników konkursu na najbardziej innowacyjne strony zeszłego roku i większość z nich – choć w ogóle do siebie nie były podobne – działała właśnie na Drupalu.

I rzeczywście. Kończę już czytać jego dokumentacje i były momenty gdy szczęka mi opadała. Nie bez powodu Drupala nazywa się nie tylko Content Management System, ale także CM Framework. Jakiż on jest elastyczny i modularny. Zupełnie inna filozofia niż WordPress, dająca możliwość tworzenia stron bardzo interreagujących z użytkownikiem. Nie mogę się doczekać kiedy pierwszy raz użyję Drupala przy pracy 🙂

* * *

Tak więc rok 2009 należał do WordPressa. Rok 2010 będzie należał do… nadal WordPressa, bo na pewno stworzę jeszcze wiele stron opartych o niego i do Drupala, któremu poświęcę cały rok na naukę (tak jak to zrobiłem z WordPressem rok temu).0