Jak uzyskać inny wygląd podstrony w WordPressie. Przykład z mapą google.

Inny widok strony w WordPressie

Jeden z czytelników poprosił mnie kiedyś o tutorial, jak tworzyć strony w WordPressie, różniące się wyglądem (layoutem). Ja o prośbie zapomniałam, ale nie czytelnik. Przypomniał mi się z tym tematem ponownie. Bardzo sobie cenię upór w dążeniu do celu, więc żeby nie zawieść wytrwałego czytelnika bloga, po prostu siadam i piszę.

Czytaj dalej Jak uzyskać inny wygląd podstrony w WordPressie. Przykład z mapą google.

Kadrowanie zdjęć w WordPressie? Pewnie że się da!

Kadrowanie zdjęć WordPress

Na początek zagadka. Pamiętasz zadania z dzieciństwa pt. Znajdź 5 szczegółów różniących obrazki? Dziś proponuję podobną zabawę. Niżej pokazane są dwie galerie. Prawie identyczne. Jednak jest coś, co je różni. Niby nieznacznie, lecz uzyskany efekt powoduje, że druga galeria wydaje się bardziej dopracowana.

Czytaj dalej Kadrowanie zdjęć w WordPressie? Pewnie że się da!

Rozwój nowej strony na WordPressie gdy stara działa w tej samej domenie

WordPress nowy hosting stara domena

Wszyscy przenoszą się na WordPressa. W każdym razie odnoszę takie wrażenie… Choćby na podstawia zleceń do wyceny, które dostaję. Zarówno osoby prywatne jak i firmy porzucają Joomlę, Drupala, nawet autorskie systemy zarządzania treścią i stawiają (na) WordPressa. Gdy podpytuję o powód wybrania WordPressa jako CMS, najczęściej padają dwie odpowiedzi: dobre SEO i prostota w obsłudze.

Czytaj dalej Rozwój nowej strony na WordPressie gdy stara działa w tej samej domenie

Powiadomienia o nowych wpisach na blogu – krok po kroku z wtyczką Wysija

powiadomienia-o-nowych-wpisach Jesteś blogerem. Tylko nie mów, że nie ma dla Ciebie znaczenia, ilu ludzi czyta Twój blog. Umówmy się, skoro nie piszesz do szuflady, lecz zdecydowałeś się publikować w necie, z pewnością zależy Ci na tym, aby liczba stałych czytelników rosła. OK, a więc zależy Ci. Tylko czy oby nie robisz tego tak, jakby Ci właśnie nie zależało? Bo ja tak właśnie robiłam. Naiwnie wierząc, że wystawienie powiadomień o nowych wpisach przez RSS wystarczy.

Czytaj dalej Powiadomienia o nowych wpisach na blogu – krok po kroku z wtyczką Wysija

WordPress galeria. Nigdy przedtem nie było to tak proste! Tutorial.

Uwaga! Najnowszy (bo z roku 2021) artykuł na temat tworzenia galerii w WordPress znajdziesz tutaj.

Galeria WordPress

Nareszcie jest! Intuicyjna i w pełni funkcjonalna galeria w WordPressie. Możliwość układania zdjęć w formie galerii w WordPressie była od dawna, lecz dopiero od wersji WP 3.5 zarządzania fotkami stało się proste w obsłudze. Wszystko to dzięki nowemu managerowi mediów, który pozwala na swobodne wykonywanie czynności związanych z dołączaniem, wyszukiwaniem i układaniem zdjęć w galerie.

Dziś pokażę, jak za pomocą nowego interfejsu zarządzania zdjęciami można utworzyć galerię w WordPressie. Szybko, prosto i przyjemnie!

 

Czytaj dalej WordPress galeria. Nigdy przedtem nie było to tak proste! Tutorial.

Zlecenia z WordPressa – studium przypadków z życia wziętych

Zlecenia z WordPressa

Kiedy mówię ludziom, że żyję ze zleceń z WordPressa, spotykam się zwykle z dwoma rodzajami reakcji. Pierwsza to zdziwienie, że tak w ogóle się da. Drugi rodzaj reakcji to zalanie pytaniami, bazujące na założeniu, że moja praca polega na robieniu stron z wykorzystaniem WordPressa. Takich od A do Z. I że muszę na tym nieźle zarabiać, bo przecież dzisiaj każdy chce zaistnieć w internecie.

Prawda jest jednak inna. Rzeczywiście projekty tworzone od podstaw są najciekawsze, dają najwięcej satysfakcji, jednak mało kogo na nie stać. W końcu zrobienie większej witryny „od zera” to kilkadziesiąt godzin pracy doświadczonego grafika, drugie tyle zabierze przełożenie tego na WordPressa. Na tego typu zlecenia pozwalają sobie raczej duże firmy i takich zleceń wpada kilka w roku.

Wśród „codziennych” zapytań od klientów więcej jest tak zwanej drobnicy: różnego rodzaju dostosowania gotowych motywów do wymagań klienta, dodanie jakiejś funkcjonalności, i – co ostatnio wpada do mnie coraz częściej – załatanie błędów. Kiedyś nie lubiłam tych ostatnich, potrafiłam odmówić ich realizacji jeszcze przed wgryzieniem się w problem. Ostatnio jednak kilka takich przyjęłam. I doszłam do zadziwiających mnie samą wniosków.

Na pogotowiu WordPressa można zarobić. I to całkiem dobrze w porównaniu z poświęconym czasem.

Czym się charakteryzują takie zlecenia:

  • Są konkretne, dotyczą specyficznego problemu.
  • Zleceniodawca jest zdesperowany i zmęczony bezowocnym szukaniem przyczyny błędu. Co oznacza naszą przewagę negocjacyjną. „Zapłacę. Byle tylko działało Pani Agnieszko”.
  • Stanowią zamkniętą całość. Jak już naprawimy problem, temat zostaje zamknięty, w przeciwieństwie do oddania nowo tworzonej strony, gdzie błędy wychodzą dopiero w trakcie jej „życia”.

W dzisiejszym wpisie postanowiłam przeprowadzić case study trzech wybranych zleceń.

Zlecenie nr 1 – strona wyświetla tylko nagłówek

Problem

Dzwoni klient i mówi, że w dwóch jego witrynach wystąpił nagle ten sam problem. Na wszystkich podstronach pokazywany jest tylko nagłówek, mimo że do tej pory wszystko działało poprawnie.

Analiza problemu

Zlecenie z WordPressa - krok 1.1

Krok 1. Od czego zacząć analizę?

Proszę o namiar na stronę i dostęp do serwera ftp. Odpalam stronę w przeglądarce, włączam podgląd źródła i widzę, że strona faktycznie urywa się mniej więcej w miejscu, gdzie kończy się header. Dalej jest tylko nicość.

Zwykle za wygenerowanie części nagłówkowej w WordPressie odpowiada plik header.php motywu. Wchodzę więc do jego źródła, w polu „szukaj” edytora wpisuję frazę pozwalającą mi namierzyć ostatni widoczny na stronie fragment. Fraza zostaje znaleziona, a zaraz za nią widać bardzo dziwny fragment kodu. Atak, myślę sobie, bo wiem, że normalny kod tak nie wygląda.

<?php @error_reporting(0); if (!isset($eva1fYlbakBcVSir))
...
= $eva1tYlbakBcVSir;} ?>

Zlecenie z WordPressa - krok 1.2

Krok 2. Więc jednak atak…

Wrzucam powyższy fragment kodu w google’a. W odpowiedzi dostaję dziesiątki stron potwierdzających moje przypuszczenie. Obecność tego rodzaju kodu na stronie jest wynikiem infekcji. Wykorzystano lukę w programie timthumb.php, dostarczanym wraz z niektórymi motywami WordPressa i wtyczkami.

Usuwam feralny fragment, strona natychmiast wstaje do życia. Podejrzanego kodu szukam jeszcze w innych plikach danej witryny. Ostatecznie okazuje się, że zainfekowanych zostało kilkanaście źródeł php. Czyszczę wszystkie.

Zlecenie z WordPressa - krok 1.3

Krok 3. Jak zabezpieczyć się na przyszłość

Witryna wprawdzie wróciła do życia, ale skoro dziura jest, atak w każdej chwili może się powtórzyć. Problem został usunięty w którymś z kolejnych releasów programu timthumb. Trzeba zatem zrobić jego aktualizację.

Tutaj pomocna okazuje się gotowa wtyczka do WordPressa Timthumb Vulnerability Scanner. Skanuje ona katalog wp-content WordPressa w celu znalezienie niechlubnej wersji timthumb’a i daje możliwość wykonania jej aktualizacji do wersji bezpiecznej. Więcej o tej wtyczce przeczytasz na blogu u Oli.

Zlecenie z WordPressa - krok 1.4

Krok 4. Jak wycenić usługę?

No właśnie. Znalezienie problemu i usunięcie przyczyny błędu zajęło mi jakąś godzinkę. Średnia stawka godzinowa programisty WordPressa to podobno 60zł – zobacz wyniki ankiety, którą Konrad prezentował na WordCampie. Na tym samym WordCampie nauczyłam się innej ważnej rzeczy (tu oczko leci do Wojtka. Chociaż nie wiem, czy Wojtek je zauważy, bo on podobno tego bloga nie czyta, tylko skanuje):

Sprzedajesz wiedzę, nie czas.

Wyceniam usługę na 300zł netto. Klientowi sporządzam raport z przeprowadzonej akcji. Zadowolony jest i klient i ja.

Zlecenie nr 2 – newsy z feeda RSS nie odświeżają się

Problem

Klient ma dwa, powiązane ze sobą portale. Pierwszy informacyjny, drugi ogłoszeniowy, na którym zarabia. Żeby ściągnąć ruch na portal zarobkowy, na portalu informacyjnym (który oglądany jest częściej) wyświetlane są ostatnio dodane ogłoszenia z portalu ogłoszeniowego. W tym celu wykorzystywany jest feed RSS. Portal ogłoszeniowy udostępnia nowe wpisy w postaci feed’a RSS, a portal informacyjny korzysta z widgetu RSS, żeby je odczytać i automatycznie wyświetlać.

Na czym polega problem: mimo dodawania nowych ogłoszeń, nie zostają one wyświetlone w portalu informacyjnym. Co dziwniejsze, nie ma tu reguły. Klient twierdzi, że czasami nowe ogłoszenia się pojawiają, czasami nie.

Analiza problemu

Zlecenie z WordPressa - krok 2.1

Krok 1. Od czego zacząć analizę?

Dodaję nowe ogłoszenie, sprawdzam, czy pojawia się ono w feedzie RSS (w tym celu zwykle wystarczy do adresu bloga dodać końcówkę /feed np. dla tego bloga będzie to https://webfaces.pl/blog/feed/)

Tak. Podgląd źródła XML feeda portalu ogłoszeniowego przekonuje mnie, że nowe ogłoszenie trafiło do niego.

Zlecenie z WordPressa - krok 2.2

Krok 2. Zatem problem jest po stronie odbiorcy

Wchodzę na portal informacyjny. Upewniam się, że strona jest świeżo wygenerowana, żeby mieć pewność, że problem nie leży w cache’owaniu prezentowanego contentu. Okazuje się, że świeżutka, nie zcache’owana (jak to się pisze?) strona nadal nie widzi najnowszych wpisów pochodzących z feeda RSS.

Zlecenie z WordPressa - krok 2.3

Krok 3. Klucz tkwi w zadaniu odpowiedniego pytania

No to idę po radę do google’a. Tylko jak nazwać problem? Czyli jakie słowa kluczowe wpisać w wyszukiwarkę. Wiem, że używam widgetu RSS, problem polega na braku odświeżania. Decyduję się więc na taką oto frazę:

wordpress rss feed not refreshing

Kilka pierwszych wyników w SERP’ach okazuje się ścieżką donikąd. Niektórzy sugerują konflikty z wtyczkami. Podchodzę do tego sceptycznie, ale próbuję. Wyłączenie wszystkich wtyczek nie rozwiązuje problemu. Szukam dalej. W końcu wpadam na wpis o zachęcająco brzmiącym tytule Change WordPress RSS Widget refresh interval – jest coś o interwale odświeżania. Autor pisze, że domyślny czas odświeżania się widgetu RSS to 12 godzin. No to jesteśmy w domu!

Wystarczy go zmienić za pomocą prostego filtru dodanego do pliku funcions.php:

    add_filter( 'wp_feed_cache_transient_lifetime', create_function('$a', 'return 900;') );

Czas podawany jest w sekundach. Powyższy przykład wymusi zatem odświeżanie treści odczytywanych przez WordPressowy widget RSS co 15 minut. No to nie musimy już czekać pół doby. I wyjaśniło się, dlaczego czasami ogłoszenia się pojawiały. One pojawiały się zawsze, niekiedy przypadkiem udało nam się wstrzelić w pobliże momentu odświeżenia.

Zlecenie nr 3 – a miało być tak pięknie

Problem

Klient zakupił profesjonalny szablon na ThemeForest. Wcześniej obejrzał jego wersję demo, która zapowiadała się naprawdę obiecująco. Po aktywacji motywu na swoim serwerze przychodzi rozczarowanie. To nie tak miało wyglądać. Strona raczej w ogóle nie wygląda (przykłady niżej). Klient zdaje sobie wprawdzie sprawę, że witryna nabierze wigoru po wypełnieniu zdjęciami i treścią, pozostaje jednak pytanie: jak to zrobić?

Po kilku godzinach prób przebicia się przez short code’y, znalezienia i zrozumienia dokumentacji technicznej, klient poddaje się, zwracając do mnie i zalewając morzem pytań z serii jak uzyskać ten efekt? „Pani Agnieszko, może zrobi Pani jakiś przykład, ja już potem polecę analogicznie. Zapłacę.”.

Porównanie wyglądu motywu typu premium widocznego w stronie demo (rys. 1) i po instalacji u klienta (rys. 2)

Wygląd strony WordPressowej z wypełnionymi danymi, na przykładzie motywu CrossApple
Rys. 1. Motyw wypełniony danymi, widok ze strony demo

Wygląd strony WordPressowej bez danych, na przykładzie motywu CrossApple
Rys. 2. Ten sam motyw po instalacji u klienta (bez danych)

Analiza problemu

Zlecenie z WordPressa - krok 3.1

Krok 1. Jak podejść do problemu?

Rozwiązanie jest dużo prostsze niż można by przypuszczać. Motywy premium zakupione na stockach typu Theme Forest zwykle dostarczane są w pakiecie, w którym znajdziemy tzw. Sample Data. Czyli dane przykładowe, przygotowane przez autora motywu z myślą o jego wstępnym wypełnieniu. Najczęściej ich wykorzystanie da nam efekt identyczny jak ten, który widzimy na stronie demo.

Okazuje się, że mało kto z kupujących o tym wie. A jeśli nawet wie, to już wielką zagadką pozostaje, jak dane te wykorzystać.

Zlecenie z WordPressa - krok 3.2

Krok 2. A więc Sample Data, tylko co dalej?

Przykładowe dane, którymi szybko zasilimy naszą witrynę znajdują się w pliku z rozszerzeniem xml (dostarczonym w pakiecie motywu premium). Plik ten zwykle nazywa się nazwaMotywu.wordpress.sample.xml lub nazwaMotywu.wordpress.2012-04-19.xml.

Pierwszych kilka linijek źródła tego pliku zawiera instrukcję, w jaki sposób można zaczytać go do WordPressa. Sposób postępowania jest zawsze ten sam.

Jak wypełnić WordPressa przykładowymi danymi

  1. Zaloguj się do panelu WordPressa jako admin.
  2. Z menu po lewej wybierz Narzędzia, następnie Import.
  3. W tabelce kliknij ostatnią pozycję z hasłem WordPress: Zainstaluj importer z WordPressa, aby zaimportować wpisy, strony… .
  4. Zainstaluj Importera.
  5. Załaduj plik xml (znajdziesz go wśród plików pakietu zakupionego motywu premium).
  6. WordPress poprosi o wskazanie autora wpisów, a następnie zaimportuje dane przygotowane przez autora motywu.

Instalacja Importera - ilustracja kroku 3
Instalacja Importera - ilustracja kroku 3

Instalacja Importera - ilustracja kroku 4 - instalacja Importera
Instalacja Importera - ilustracja kroku 4

Instalacja Importera - ilustracja kroku 5
Instalacja Importera - ilustracja kroku 5

Zlecenie z WordPressa - krok 3.3

Krok 3. Ucz się na przykładach

Analizując przykładowe dane szybko zrozumiesz specyfikę działania danego motywu.

Prawda że tego typu zlecenia mogą być ciekawą odskocznią od monotonii codziennej pracy? Już nie jeżę się na tego typu zapytania. A jeśli przy okazji okaże się, że prezentacja tego rodzaju studium przypadków na blogu zostanie dobrze przyjęta przez czytelników, będę mieć dodatkową motywację, żeby chętniej podejmować takie wyzwania i dzielić się zdobytą wiedzą. Nawet wówczas, gdy na początku nie mam zielonego pojęcia, jak ugryźć problem i jakie frazy w google wpisać. Bo przecież każdy problem już ktoś wcześniej miał, kwestia tylko jak znaleźć w necie jego rozwiązanie…

Inne wpisy o podobnej tematyce

Zanim powiesz: Tego nie da się zrobić

Wygoda użytkownika w WordPressie

Dziś zamiast wstępu teatrzyk.

Występują:

  • Użytkownik – klient zlecający projekt z WordPressa. Nie jest informatykiem, szuka prostych rozwiązań.
  • Programista Typ A (Abnegat) – jest dobrym programistą, ale ma dosyć utarczek z użytkownikami, którzy przecież i tak nie rozumieją jego świata.
  • Programista Typ B (Biznesmen) – dobrze rokujący programista, zorientowany na szybki zarobek.
  • Programista Typ C (Chcę się rozwijać) – programista, który wsłuchuje się w użytkownika, bo wie, że w ten sposób sam się może wiele nauczyć, a zadowolony klient wraca.

Czytaj dalej Zanim powiesz: Tego nie da się zrobić

[rozwiązany] Problem liczby mnogiej w tłumaczeniu motywu WordPressa

Jak poprawnie przygotować motyw WordPressa na obsługę liczby mnogiej

Wpis będzie odpowiedzią do dyskusji, jaka wywiązała się pod artykułem na dev.wpzlecenia dotyczącym prawidłowej odmiany informacji o liczbie komentarzy. Autor artykułu słusznie zwrócił uwagę na potrzebę dbałości o poprawną odmianę słówka „komentarze” na blogu w WordPressie.

Czytaj dalej [rozwiązany] Problem liczby mnogiej w tłumaczeniu motywu WordPressa

Jak zwiększyć liczbę komentarzy na blogu w WordPressie

Jak zwiększyć liczbę komentarzy na blogu

Atrakcyjna galeria handlowa. Dziesiątki stoisk z ciekawym asortymentem. Jestem tu po raz pierwszy, podoba mi się. Z zapałem przeglądam bogatą ofertę poszczególnych sklepów. Gdy opada początkowa euforia uświadamiam sobie, że jednak coś tu nie gra… I powoduje, że czuję się nieufnie. Po chwili już wiem. Mimo godzin szczytu nie spotykam innych klientów. Sprzedawcy niby są, ale też jakby gdzieś się pochowali.

Czytaj dalej Jak zwiększyć liczbę komentarzy na blogu w WordPressie

Adaptacja rotatora z WordPressem – przykład użycia własnych typów wpisów

Rotator w WordPressie - tutorial

Rotatory zdjęć zalały świat weba. Zanim pomyślisz, że są na tyle popularne, że lada dzień wyjdą z mody, przeczytaj ten artykuł. Zanim powiesz, że są dziesiątki gotowych wtyczek, za pomocą których dodasz slider do bloga w WordPressie, pomyśl, ile tracisz, rozwiązując każdą zachciankę za pomocą wtyczki. Albo inaczej – zobacz, co zyskasz, próbując samodzielnie zintegrować rotator zdjęć z WordPressem.

Czytaj dalej Adaptacja rotatora z WordPressem – przykład użycia własnych typów wpisów