od Podstaw
5 godz. 37 min · WordPress · Full-stack i Programowanie
Grzegorz RógIdea ArchitectPierwsze lekcje kursu dotycza ekosystemu WordPress oraz tego, co mozna osiagnac z wykorzystaniem tego systemu CMS. Nastepnie zajmiemy sie pobraniem aktualnej, polskiej wersji WordPress oraz jego instalacja w ramach lokalnego srodowiska deweloperskiego. Kolejno skonfigurujemy nasza strone tak, aby praca z nia byla komfortowa a takze aby publikowane tresci byly przyjazne dla wyszukiwarek.
Na przestrzeni kursu poznasz wszystkie narzedzia, które sluza do zarzadzania Twoja strona w WordPress. Dowiesz sie jakie sa podstawowe typy tresci oraz czym sa taksonomie, w ramach których mozemy organizowac strukture naszej strony. Poznasz takze metody na dodawanie mediów do WordPress, takich jak obrazki, wideo czy linki. Stworzymy tez swoje wlasne galerie oraz wygenerujemy miniaturki na potrzeby Wpisów. Zajmiemy sie takze administracja uzytkownikami oraz ich uprawnieniami w ramach naszej strony.
Dowiesz sie, czym sa darmowe oraz platne Motywy do WordPress, które nastepnie bedziemy instalowac, aby zmienic wyglad naszego serwisu. Zajmiemy sie takze dostosowywaniem gotowych Motywów do naszych potrzeb. Skorzystamy z domyslnego Motywu WordPress oraz jego panelu, z pomoca którego podmienimy grafiki, kolory czy tla. Dowiesz sie takze, jak mozna edytowac styl Motywu dokonujac zmiany bezposrednio w plikach CSS oraz PHP, jak równiez czym sa i dlaczego warto korzystac z Motywów Potomnych w WordPress.
Wyjasnie Ci równiez czym sa Pluginy, czyli tak zwane wtyczki do CMS WordPress. Z ich pomoca bedziemy rozszerzac mozliwosci naszej witryny i dodawac do niej funkcjonalnosci, które pozwola nam na przyklad stworzyc dzialajacy formularz kontaktowy czy uruchomic automatyczne backupy zarówno bazy danych jak i plików z FTP tak, aby Twoja strona byla zawsze bezpieczna. Poznamy szereg najciekawszych Pluginów, jak równiez pokaze Ci metody z których mozna skorzystac, aby przywrócic dzialanie naszego systemu po awarii wynikajacej np. z instalacji wadliwej wtyczki.
Na przestrzeni kursu bedziemy rozszerzac mozliwosci naszej strony WWW, zarówno z pomoca wtyczek, mediów, jak równiez pokaze Ci jak dodac do strony mapke Google oraz skrót najnowszych informacji z profilu witryny na Facebooku. Stworzymy prosta strukture dzialajacej strony Bloga Kulinarnego, która dostosujemy do naszych potrzeb. Pomówimy takze o aktualizacjach WordPress oraz jego komponentów.
Kurs przeznaczony jest dla osób, które rozpoczynaja swoja przygode z systemem CMS WordPress i chca od podstaw poznac jego mozliwosci. Jesli jeszcze nie pracowales z WordPress, posiadasz strone WWW postawiona na tym systemie lub projektujesz witryny, ale chcialbys uporzadkowac swoja wiedze - ten kurs jest wlasnie dla Ciebie! Pomoze Ci on szybko poznac wszystkie funkcje i narzedzia oraz techniki prowadzenia strony WWW opartej na WordPress.
Cześć! Witaj w kolejnej lekcji! Nasz blog jest prosty i czysty, ale no nie prezentuje się
zbyt atrakcyjnie, jeśli chodzi o stronę główną. Po prostu znajduje się na niej jakiś pierwszy wpis
i menu, więc chciałbym to zmienić. Chciałbym stworzyć nową stronę,
która będzie statyczną stroną główną dla mojego bloga. Wybieram polecenie Strony,
a następnie Dodaj nową. I nadam jej tytuł, który będzie
po prostu sprowadzał się do tego, że przywitamy się z kimś, kto odwiedzi naszego bloga -
Witaj na moim blogu! Możemy dodać tutaj jakąś machającą
łapkę, a następnie wkleję w kolejnym bloku - mamy powitanie na blogu. Teraz
jeszcze dodam tutaj obrazek. Wybieram obrazek i zanim go wrzucę, muszę ten
obrazek znaleźć. Przechodzę na Pexels. I wpiszę po prostu frazę food.
Zobaczymy, co się znajdzie ciekawego. No i fajnie. Pierwszy
lepszy obrazek, który mi w miarę pasuje. Pobieram ten obrazek z pomocą opcji Free Download
i teraz przechodzę do Figmy, a następnie po prostu z Eksploratora
Windows upuszczam go do Figmy. Za chwilę zostanie tutaj załadowany. Jak
widzisz, ma on dość duże rozmiary, ale możemy zawsze zmniejszyć tutaj widok, a następnie
go przyciąć. Zaznaczam ten obrazek. I opcje przycinania w Figmie znajdują się tutaj. Znów
pokazuję Ci Figmę, bo jest naprawdę super szybka, super łatwo można te opcje
dostosować. Chciałbym przyciąć ten obrazek w taki dość nietypowy sposób,
czyli zrobię to, o, właśnie tak. Teraz z pomocą Entera
mogę zatwierdzić zmiany. A przy okazji, jak byłem w opcjach przycinania, zobacz, że
możemy ten obrazek jeszcze dostosować w Figmie, na przykład zmienić jego nasycenie, saturację,
ewentualnie dopasować kontrast, ekspozycję, czyli rozjaśnić go lub przyciemnić i
jeszcze kilka dodatkowych opcji. Więc takie podstawowe przynajmniej ustawienia
obrazów będziemy mogli spokojnie tutaj zrobić. Teraz chciałbym wyeksportować
ten obraz, czyli wybieram plus, eksportuję go i tutaj
już niestety SVG mi nie pomoże, dlatego że ten obraz jest
bitmapą - sam w sobie jest zdjęciem zrobionym przez aparat, więc muszę wybrać albo PNG, albo
JPG. Wybieram JPG, zapisuję i wracam do WordPressa. Teraz
wybieram Bibliotekę mediów, następnie Dodaj pliki. Ten obrazek ma bardzo
dużą rozdzielczość i duży rozmiar, ale już wcześniej pokazywałem Ci, jak optymalizować obrazy,
więc teraz powinieneś wcześniej to zrobić. A ja po prostu wybieram go i wstawiam
do tej strony. Teraz spróbujmy tą stronę opublikować. Wybieram
polecenie Opublikuj. I mając taką stronę, przejdę do sekcji Wyglądu > Dostosuj,
a następnie znów przejdę do opcji Ustawienia strony głównej i zmienię
tą stronę główną na stateczną witrynę. Wybiorę ją na Witaj na moim blogu! Wybierzmy
ustawienie Opublikuj. W tym momencie strona główna jest już statyczna. Mamy
Witaj na moim blogu!, a pod spodem pojawiają się widgety. No
właśnie. Nie chcielibyśmy tutaj mieć widgetów. Chcielibyśmy, żeby widgety pojawiały się
wyłącznie we wpisach. Jak w związku z tym można je selektywnie wyłączyć? Ustawienia widgetów
w naszym szablonie nie dają mam takiej możliwości. Możemy po prostu dostosować
ustawienia widgetów w stopce, ale stopka sama w sobie wyświetla się
na każdej naszej i stronie, i wpisie. W związku z tym,
gdybyśmy teraz przeszli do edycji do edytora wyglądu,
moglibyśmy zobaczyć, jak to wygląda. Możemy podejrzeć sobie stopkę,
możemy z niej to usunąć. Możemy też w ogóle nie wyświetlać stopki na
stronach - Pojedyncza strona, czyli na page.php. I wtedy
była ona by dostępna na wpisach, ale na żadnej stronie nie byłaby wyświetlana. W naszym
przypadku chcemy się pozbyć tego elementu, ale selektywnie - tylko dla tej strony
głównej. Dlatego będziemy musieli skorzystać z wtyczki. Wybieram polecenie Dodaj
nową. Szukam wtyczki, która nazywa się Widget Context. Ta
wtyczka pozwoli Ci selektywnie właśnie włączyć czy wyłączyć
widgety w różnych obszarach, w różnych miejscach Twojej strony. Przechodzę
znów do sekcji Wygląd i albo do Widgety, albo do Dostosuj. Będzie to to samo, ponieważ stąd, z
sekcji Dostosuj, tak czy inaczej przejdę do Widgetów > widgetów w stopce i
będę mógł wyedytować właściwości każdego z tych widgetów z pomocą
dodatkowej opcji Widget Context. Domyślnie mamy Show widget everywhere. Pokazywany
jest ten widget wszędzie, ale możemy go pokazywać tylko na wybranych miejscach, ewentualnie
ukryć w wybranych miejscach lub też ukryć wszędzie. Chcemy go ukryć w
wybranych miejscach. Tutaj mamy do dyspozycji nawet takie opcje jak targetowanie
po konkretnym URL-u strony albo - jeśli ma więcej słów dany
wpis, przykładowo niż x, to nie będziemy go wyświetlać - ale dla nas najprostsza będzie opcja Global, gdzie
możemy ukryć ją na przykład na wszystkich stronach albo tylko na stronie głównej. Czyli ukrywamy
ten widget na stronie głównej i to powinno nam wystarczyć. Teraz mogę
zwinąć opcje tego pierwszego widgetu. Jeśli chodzi o drugi, zrobimy to samo - Hide
on front page. I jeżeli chodzi o trzeci, powtórzymy tę operację
Ukryj na stronie głównej/front page. Teraz publikuję te
zmiany i proszę, nie sugeruj się podglądem tutaj, ponieważ dalej się tutaj wyświetlają
te widgety, ale jeśli wejdziesz na stronę i odświeżysz ją, zobaczysz,
że są one teraz niedostępne. Natomiast gdybyśmy przeszli do sekcji Inspiracje
i przykładowo zobaczyli, czy tu są dostępne - są na stronach kategorii, czyli
na archiwach. Możemy też je stąd wyłączyć selektywnie i też gdy
przejdziemy do wpisu, również są na samym dole dostępne. Po odświeżeniu i powrocie
do sekcji Personalizacji, jak widzisz, już te zmiany są zastosowane. I są
wyszarzone również widgety, które na danej stronie, którą oglądamy, są w tym momencie nieaktywne.
Przenieśmy się raz jeszcze do sekcji Dodatkowy CSS. I teraz chciałbym pokazać Ci kilka
prostych cssowych trików. Znów nie musisz tutaj znać
wszystkich właściwości i poleceń CSS. Bardziej chcę, żebyś zobaczył to jako pewną inspirację
do tego, co można zrobić, jako pewne demo. Ale też nie traktuj tego aż
tak bardzo poważnie jako część kursu, ponieważ tak naprawdę gdybyśmy
robili ten szablon sami, chcieli aż tak mocno go modyfikować, prawdopodobnie
trzeba było zrobić osobny motyw. To, co będę robił, to jedynie jak gdyby nadpisywanie
tego, co już istnieje, więc nie jest to być może taka najlepsza i bardziej
poprawne semantycznie metoda. To, co będziesz czasem chciał zrobić, to
dostosować konkretny element na właściwej, pojedynczej stronie. Jeśli
zerkniemy przykładowo na logo i to, jak prezentuje się ono wewnątrz szablonu,
to mamy ogólne style, które nadpisaliśmy dla logo, co spowoduje
jego wyświetlanie na środku w każdym miejscu w naszym motywie. Gdybyśmy
jednak chcieli zastosować te zmiany tylko do strony głównej, to
możemy poszukać w kodzie HTML czegoś takiego, co pozwoli nam stworzyć
tę regułę bardziej specyficzną - ten selektor konkretnie cssowy
bardziej specyficzny - tak aby zaadresował tylko stronę główną, a nie logo wszędzie.
No i taka możliwość jest w WordPressie. W większości
motywów mamy coś takiego jak body class, czyli na nadrzędnym elemencie
jest taka klasa, która oznacza, że ona jest tutaj na przykład home - że to jest strona
główna. I możemy skorzystać z tej klasy, czyli możemy skorzystać z klasy home,
tak naprawdę zapisując tutaj body.home, tym razem bez spacji,
a następnie przenosząc się bezpośrednio do moje-logo w
ten sposób. I te właściwości, które chcemy nadpisać tylko
i wyłącznie dla strony głównej, powinny się znaleźć tutaj. Czyli przykładowo jeżeli chcielibyśmy
zmienić margines z prawej strony z auto na, przykładowo, 100 pikseli, ale
tylko dla strony głównej, możemy zrobić następujący wpis i jak widzisz,
to zadziałało. Teraz szybko sobie to publikujemy. Patrzymy, jak to
wygląda. Na stronie głównej mamy logo po prawej stronie, ale na stronach archiwów
czy wpisów dalej jest na środku. Okej. To już wiemy, jak to zrobić. Teraz spróbujmy
się zająć tym obrazkiem. Prawy przycisk myszy, opcje inspekcji i sprawdzamy, gdzie
on tutaj siedzi. Mamy taki ogólny znacznik figure, ale to by nam sformatowało
wszystkie obrazki na WordPressie. Ale w znaczniku img jest taka specjalna klasa wp-image-241.
No i wygląda na to, że będzie ona dedykowana dla tego tylko i wyłącznie obrazka. Jeżeli
chcemy mieć pewność, to możemy dołożyć body.home jeszcze i spację na początku. Ale
myślę, że to spokojnie wystarczy. Teraz spróbujmy sformatować ten obrazek. I co chcemy
z nim zrobić? Spróbujmy w ogóle w jakiś ciekawy sposób go
przemieścić tutaj, umieścić go z lewej strony, na górze. W
związku tym skorzystamy z szybkiego triku position: fixed,
czyli zafiksujemy go tak, aby nie skrolował się z całą
stroną. Następnie top ustalimy na 0, żeby go przyciągnąć do górnej krawędzi. I left
ustalimy na 0, żeby go dodatkowo przyciągnąć do lewej krawędzi. A żeby
jeszcze go rozciągnąć na całą wysokość, użyjemy właściwości height,
czyli wysokość. I użyjemy czegoś takiego jak to 100vh czyli
100 vertical hight, czyli po prostu wysokość całego okna przeglądarki. Jest
prawie spoko. Mamy tutaj jeszcze taki problem, że tekst teraz nam włazi pod obrazek.
CSS też ma na to radę. Możemy skorzystać z takiej właściwości z-index
i ustawiać te rzeczy tak jak warstwy w Figmie. Te z-indeksy
mamy od ujemnych wartości do dodatnich, czyli to, co będzie miało mniejszą
wartość, na przykład -1, a tekst jeśli ma przykładowo zero, to
będzie się pojawiało pod nim. No i mamy wszystko rozegrane tak, jak chcieliśmy.
Natomiast ja jeszcze chciałbym teraz sprawdzić cały ten blok tekstu, czyli
co my tutaj mamy. Mamy coś takiego jak content i site-content. Może skorzystajmy
z tego, z tej klasy, ale tutaj koniecznie
dodamy body.home, żeby to działało tylko i wyłącznie na tej stronie, którą edytujemy, Czyli body.home,
site-content i zróbmy też taki manewr polegający na tym,
że cały ten site-content umieścimy, damy mu pozycję absolute. To
też pozwoli go po prostu dosunąć do jakiejś krawędzi. I dosuniemy
go do krawędzi prawej, czyli right i wybierzemy 0. Wyłączę
sobie na razie te rzeczy i wygląda to już coraz lepiej. Mamy z
prawej strony ten element. Dodatkowo możemy ustalić zmienną
szerokość tego elementu. Width, powiedzmy, ustalmy na 60%. Wtedy
będziemy mieli zawsze to na 60% okna przeglądarki. Można
powiedzieć, że gdzieś tam wstępnie mamy tą treść ustawioną. No ale zostało nam
jeszcze menu i to menu w footerze. Spróbujmy w pierwszej kolejności namierzyć
to menu, czyli prawy klik na dowolnym elemencie i opcje inspekcji. Co
my tu mamy? Mignęło nam ul, czyli ten element, który jest całą listą z menu. Ma
on identyfikator i klasę main-menu. Dobra, to skorzystajmy z tej klasy, a
następnie upewnijmy się, że będziemy to edytować wyłącznie dla
tej strony głównej, na której jesteśmy. Okej, w porządku. Może zrobię tutaj kilka Enterów
na dole, żebyś to trochę lepiej widział. Czyli mamy na stronie głównej menu i
co z nim chcemy zrobić? No, w zasadzie chcemy zrobić z nim prawie to samo, co zrobiliśmy z
tym fragmentem tekstu, czyli spozycjonować je absolutnie do
prawej strony. Width może zmienimy na 50%,
52%, 53%, 51%. Wygląda na to, że wygląda
całkiem nieźle. I to też będzie rozszerzało się razem z naszą stroną. Więc
jest całkiem w porządku. Musimy jeszcze albo wypozycjonować to menu
w footerze, albo generalnie się go pozbyć. Możemy kliknąć na ikonkę z ołówkiem po
to, żeby do niego przejść - do Footer Menu. Co to jest? To jest
menu, które się wyświetla tutaj na stałe. To nie tak, jak widget, który byśmy mogli ukryć z
pomocą naszego nowego fajnego pluginu. Więc to, co będziemy musieli zrobić z takim gagadkiem,
to po prostu zaznaczyć go prawym przyciskiem myszy i znów przejść do opcji inspekcji. Mamy
tutaj po prostu cały footer i możemy skopiować
tę nazwę klasy site-footer. Znów skopiujemy body.home, spacja, kropka, żeby
upewnić się, że będziemy to robić tylko dla footera na stronie głównej. I
wpiszemy po prostu display: none. Znów mało elegancki
zabieg, ale działa. Po prostu ukryje nam ten footer. I spróbujmy teraz
opublikować i zobaczyć, co się stało na naszej stronie. Na stronie głównej, którą odświeżę
- Ctrl czy Cmd+R. Wygląda to zupełnie inaczej! Całkiem
nieźle udało nam się te elementy spasować, ale już na
poszczególnych podstronach nic się nie zmieniło. Strona archiwum, przejdźmy do Inspiracji,
czy strony poszczególnych wpisów wyglądają dokładnie tak, jak wyglądały wcześniej. To
jest ten efekt, który chcieliśmy osiągnąć, właśnie dodając tutaj tę specyficzność
selektorów, które adresują wyłącznie stronę główną. Nie jest
jakoś idealnie, dlatego że gdybyśmy przeszli do opcji inspekcji i
spróbowali przejść tutaj. Wejdź sobie w ten podgląd na przykład mobilny czy
tabletowy, to okazuje się, że gdzieś już odtąd... dotąd
wygląda to nawet całkiem nieźle. I zobaczysz, że skroluje się tylko ta część,
w której znajduje się tekst, obrazek jest zafiksowany, czyli nie będzie się skrolował. Więc
to jest dodatkowy fajny efekt. Ale już gdy zaczynamy
zjeżdżać poniżej pewnej rozdzielczości, mamy problem, bo to wjeżdża nam
na obrazek. Zobacz, jaka jest ta szerokość. Mamy 1002 piksele, jedziemy w
dół, w dół, w dół, w dół i już zaczyna być niezbyt okej. Więc można powiedzieć, że dla
nas taką granicą, gdzie się zaczyna coś psuć, jest 1000 pikseli. Teraz
CSS potrafi zrobić coś takiego z pomocą tak zwanego media
query, gdzie możemy wpisać media all and i zaadresować
rozdzielczości, które na przykład są poniżej tysiąca pikseli. Czyli wpiszemy
max-width: 1000 pikseli. Teraz
w nawiasach klamrowych możemy podać wszystkie reguły CSS, które mają znaleźć zastosowanie
poniżej 1000 pikseli. Zacznijmy od wp-image. Możemy
skopiować cały ten selektor - to nazywa się w CSS-ie selektor - a
następnie powiedzieć mu na przykład visibility: hidden, czyli
po prostu chciałbym cię ukryć w momencie, kiedy będzie mniej niż 1000 pikseli. Kolejno
możemy skopiować sobie tę całą sekcję dotyczącą site-content. I
chcemy przywrócić te wartości do jakby domyślnych, czyli position - domyślne
to static. Jeśli chodzi o wartości right i width,
możemy użyć takiej wartości inherit, czyli wartości dziedziczenia po
to, aby przywrócić te wartości do domyślnych. I tak naprawdę to samo
możemy zrobić do main-menu. Też musimy je przywrócić do
tych domyślnych wartości. Możemy albo sobie to skopiować stąd
i wkleić, albo nawet podać to po przecinku tutaj - jakby całą
tę klasę można by było zrobić przecinek i podać tutaj, ale być może to
jest troszkę bardziej czytelne, co macie teraz. No i można spróbować zapisać
taką stronę, opublikować ją. Przejść tutaj, odświeżyć
i zobaczmy. Mamy te szerokości większe,
gdzie wszystko poprawnie się wyświetla. No i dochodzimy do tej szerokości 1000
pikseli i mamy przełączenie się na pełną szerokość i
wyłączenie obrazka. Super. Moim zdaniem wygląda okej. I oczywiście
tak, jak wspomniałem, nie jest to jakaś super poprawna metoda robienia tego, taka - można
powiedzieć - trochę partyzancka metoda zalepiania gotowych fragmentów CSS-a jakimiś innymi. Ale
chciałem pokazać Ci, że rzeczywiście się da i chciałem zainspirować Cię
do tego, żebyś zainteresował się też nauką HTML-a i CSS-a. To
wszystko na teraz. W kolejnej lekcji jeszcze wyświetlimy na tej stronie głównej dodatkowy element
na dole. Do usłyszenia!