SlideShare ist ein Scribd-Unternehmen logo
1 von 115
Downloaden Sie, um offline zu lesen
Jak tworzyć motywy
przyjazne użytkownikom 

i programistom?
Tomasz Dziuda
WordUp Toruń #3
09.10.2015
Jak bardzo złożony jest
proces tworzenia motywu?
Ćwiczenie
Ćwiczenie
• Zapoznaj się z wytycznymi oficjalnego
repozytorium ( https://make.wordpress.org/themes/
handbook/review/required/ )
• Zrób przegląd motywu kandydującego do
repozytorium
Ćwiczenie
• Zapoznaj się z wytycznymi oficjalnego
repozytorium ( https://make.wordpress.org/themes/
handbook/review/required/ )
• Zrób przegląd motywu kandydującego do
repozytorium
Warto zapamiętać
Warto zapamiętać
• Stworzenie pierwszego motywu dla szerokiego
grona użytkowników nie jest wcale takie proste
• Kolejne motywy prawie zawsze bazują na
fragmentach kodu poprzednich motywów
• Swoją przygodę z motywami warto zacząć od
stworzenia motywu potomnego...
• ... lub skorzystać z frameworka takiego jak _s
Warto zapamiętać
• Stworzenie pierwszego motywu dla szerokiego
grona użytkowników nie jest wcale takie proste
• Kolejne motywy prawie zawsze bazują na
fragmentach kodu poprzednich motywów
• Swoją przygodę z motywami warto zacząć od
stworzenia motywu potomnego...
• ... lub skorzystać z frameworka takiego jak _s
Warto zapamiętać
• Stworzenie pierwszego motywu dla szerokiego
grona użytkowników nie jest wcale takie proste
• Kolejne motywy prawie zawsze bazują na
fragmentach kodu poprzednich motywów
• Swoją przygodę z motywami warto zacząć od
stworzenia motywu potomnego...
• ... lub skorzystać z frameworka takiego jak _s
Warto zapamiętać
• Stworzenie pierwszego motywu dla szerokiego
grona użytkowników nie jest wcale takie proste
• Kolejne motywy prawie zawsze bazują na
fragmentach kodu poprzednich motywów
• Swoją przygodę z motywami warto zacząć od
stworzenia motywu potomnego...
• ... lub skorzystać z frameworka takiego jak _s
Troska o użytkowników
Stopniowy rozwój
motywu
• Lista testów każdego elementu strony stale się
wydłuża (różne przeglądarki, responsywność,
dostępność)
• Bardziej złożone motywy mają więcej kombinacji i
zależności pomiędzy poszczególnymi
komponentami
• Nie wiadomo czy motyw się przyjmie na rynku
• Twój motyw nie musi być od razu doskonały
• Lista testów każdego elementu strony stale się
wydłuża (różne przeglądarki, responsywność,
dostępność)
• Bardziej złożone motywy mają więcej kombinacji i
zależności pomiędzy poszczególnymi
komponentami
• Nie wiadomo czy motyw się przyjmie na rynku
• Twój motyw nie musi być od razu doskonały
• Lista testów każdego elementu strony stale się
wydłuża (różne przeglądarki, responsywność,
dostępność)
• Bardziej złożone motywy mają więcej kombinacji i
zależności pomiędzy poszczególnymi
komponentami
• Nie wiadomo czy motyw się przyjmie na rynku
• Twój motyw nie musi być od razu doskonały
• Lista testów każdego elementu strony stale się
wydłuża (różne przeglądarki, responsywność,
dostępność)
• Bardziej złożone motywy mają więcej kombinacji i
zależności pomiędzy poszczególnymi
komponentami
• Nie wiadomo czy motyw się przyjmie na rynku
• Twój motyw nie musi być od razu doskonały
Źródło: https://wordpress.org/themes/gk-portfolio/
“Mam wielu klientów, którzy
nie są w stanie dostarczyć
mi sensownej ilości treści
na swoją stronę”
Powody zakupu motywu
potrafią zaskoczyć
Kilka obserwacji dot. rynku
motywów
Kilka obserwacji dot. rynku
motywów
• Najładniejsze motywy wcale nie sprzedają się
najlepiej
• Wsparcie dla popularnych rozszerzeń typu
WooCommerce jest bardzo pożądane
• Niszowe tematy przewodnie mogą okazać się
dużym niewypałem
Kilka obserwacji dot. rynku
motywów
• Najładniejsze motywy wcale nie sprzedają się
najlepiej
• Wsparcie dla popularnych rozszerzeń typu
WooCommerce jest bardzo pożądane
• Niszowe tematy przewodnie mogą okazać się
dużym niewypałem
Kilka obserwacji dot. rynku
motywów
• Najładniejsze motywy wcale nie sprzedają się
najlepiej
• Wsparcie dla popularnych rozszerzeń typu
WooCommerce jest bardzo pożądane
• Niszowe tematy motywów mogą okazać się dużym
niewypałem
USE OF VISUAL COMPOSER
GAVE ME A CANCER
Wykorzystanie ekranu
personalizacji motywu
Zalety
Zalety
• Pozwala od razu zobaczyć efekty naniesionych
zmian
• Jego budowa wymusza tworzenie prostych paneli
zarządzania motywami
• Wspomaga testowanie opcji na etapie budowy
motywu
• Ten sam UI dla opcji wszystkich motywów
Zalety
• Pozwala od razu zobaczyć efekty naniesionych
zmian
• Jego budowa wymusza tworzenie prostych paneli
zarządzania motywami
• Wspomaga testowanie opcji na etapie budowy
motywu
• Ten sam UI dla opcji wszystkich motywów
Zalety
• Pozwala od razu zobaczyć efekty naniesionych
zmian
• Jego budowa wymusza tworzenie prostych paneli
zarządzania motywami
• Wspomaga testowanie opcji na etapie budowy
motywu
• Ten sam UI dla opcji wszystkich motywów
Zalety
• Pozwala od razu zobaczyć efekty naniesionych
zmian
• Jego budowa wymusza tworzenie prostych paneli
zarządzania motywami
• Wspomaga testowanie opcji na etapie budowy
motywu
• Ten sam UI dla opcji wszystkich motywów
Wady
Wady
• Wymusza na nas zmianę pewnych koncepcji,
zwłaszcza tych związanych z rozbudowanym UI
• Jest i będzie dość często zmieniany jego UI co
czasem dokłada pracy np. przy animacjach
• Niektóre funkcje jak np. active_callback są mało
intuicyjne dla początkujących użytkowników
Wady
• Wymusza na nas zmianę pewnych koncepcji,
zwłaszcza tych związanych z rozbudowanym UI
• Jest i będzie dość często zmieniany jego UI co
czasem dokłada pracy np. przy animacjach
• Niektóre funkcje jak np. active_callback są mało
intuicyjne dla początkujących użytkowników
Wady
• Wymusza na nas zmianę pewnych koncepcji,
zwłaszcza tych związanych z rozbudowanym UI
• Jest i będzie dość często zmieniany jego UI co
czasem dokłada pracy np. przy animacjach
• Niektóre funkcje jak np. active_callback są mało
intuicyjne dla początkujących użytkowników
Opcje must-have
Opcje must-have
• Zmiana logo strony
• Zmiana tła strony
• Zmiana bazowych kolorów motywu
• Zmiana krojów pisma
• Zmiana stopki ;)
Opcje must-have
• Zmiana logo strony
• Zmiana tła strony
• Zmiana bazowych kolorów motywu
• Zmiana krojów pisma
• Zmiana stopki ;)
Opcje must-have
• Zmiana logo strony
• Zmiana tła strony
• Zmiana bazowych kolorów motywu
• Zmiana krojów pisma
• Zmiana stopki ;)
Opcje must-have
• Zmiana logo strony
• Zmiana tła strony
• Zmiana bazowych kolorów motywu
• Zmiana krojów pisma
• Zmiana stopki ;)
Opcje must-have
• Zmiana logo strony
• Zmiana tła strony
• Zmiana bazowych kolorów motywu
• Zmiana krojów pisma
• Zmiana stopki ;)
Plik editor-style.css
function my_theme_add_editor_styles() {
add_editor_style( 'custom-editor-style.css' );
}
add_action( 'admin_init', 'my_theme_add_editor_styles' );
Warto przejrzeć: https://codex.wordpress.org/Editor_Style
Łatwa migracja konfiguracji
widocznej na demo
Dedykowany instalator
WordPressa
Dedykowany instalator
WordPressa
• Na ThemeForest / oficjalne repozytorium można
umieścić tylko paczkę z motywem
• Użytkownik często ma już istniejącą stronę na
której chce zmienić motyw
• Dużo hostingów posiada własne auto-instalatory
WordPressa
Dedykowany instalator
WordPressa
• Na ThemeForest / oficjalne repozytorium można
umieścić tylko paczkę z motywem
• Użytkownik często ma już istniejącą stronę na
której chce zmienić motyw
• Dużo hostingów posiada własne auto-instalatory
WordPressa
Dedykowany instalator
WordPressa
• Na ThemeForest / oficjalne repozytorium można
umieścić tylko paczkę z motywem
• Użytkownik często ma już istniejącą stronę na
której chce zmienić motyw
• Dużo hostingów posiada własne auto-instalatory
WordPressa
WXR
WXR
• Łatwa migracja postów i podstron
• Brak możliwości migracji widżetów
• Należy zadbać o domyślną konfigurację motywu
(WXR jej nie przenosi)
• Najlepiej strukturę strony oprzeć na podstronach i
umieścić w nich widżety w postaci shortcode'ów
WXR
• Łatwa migracja postów i podstron
• Brak możliwości migracji widżetów
• Należy zadbać o domyślną konfigurację motywu
(WXR jej nie przenosi)
• Najlepiej strukturę strony oprzeć na podstronach i
umieścić w nich widżety w postaci shortcode'ów
WXR
• Łatwa migracja postów i podstron
• Brak możliwości migracji widżetów
• Należy zadbać o domyślną konfigurację motywu
(WXR jej nie przenosi)
• Najlepiej strukturę strony oprzeć na podstronach i
umieścić w nich widżety w postaci shortcode'ów
WXR
• Łatwa migracja postów i podstron
• Brak możliwości migracji widżetów
• Należy zadbać o domyślną konfigurację motywu
(WXR jej nie przenosi)
• Najlepiej strukturę strony oprzeć na podstronach i
umieścić w nich widżety w postaci shortcode'ów
Dedykowane rozwiązania
Dedykowane rozwiązania
• Możliwość migracji dowolnych danych
• Należy uwzględnić fakt, że użytkownik może mieć
własne treści na stronie
• Możliwość przeniesienia konfiguracji widżetów i
motywu
• Częściowe przenosiny danych (np. konfiguracji
widżetów bez treści demo) jest problematyczne
Dedykowane rozwiązania
• Możliwość migracji dowolnych danych
• Należy uwzględnić fakt, że użytkownik może mieć
własne treści na stronie
• Możliwość przeniesienia konfiguracji widżetów i
motywu
• Częściowe przenosiny danych (np. konfiguracji
widżetów bez treści demo) jest problematyczne
Dedykowane rozwiązania
• Możliwość migracji dowolnych danych
• Należy uwzględnić fakt, że użytkownik może mieć
własne treści na stronie
• Możliwość przeniesienia konfiguracji widżetów i
motywu
• Częściowe przenosiny danych (np. konfiguracji
widżetów bez treści demo) jest problematyczne
Dedykowane rozwiązania
• Możliwość migracji dowolnych danych
• Należy uwzględnić fakt, że użytkownik może mieć
własne treści na stronie
• Możliwość przeniesienia konfiguracji widżetów i
motywu
• Częściowe przenosiny danych (np. konfiguracji
widżetów bez treści demo) jest problematyczne
Elastyczne
rozwiązania
Slideshow pokazujący wpisy
z danego tagu
Źródło: https://codex.wordpress.org/Twenty_Fourteen
Należy zadbać o to by można było zmienić nazwę tagu
wybieranego do slideshow
Zaawansowane wykorzystanie
hierarchii szablonów w WordPressie
Zobacz: http://wphierarchy.com
Zaawansowane wykorzystanie
hierarchii szablonów w WordPressie
• Mocno ryzykowne jest tworzenie plików typu
category-slug.php
• Tak samo ciężko będzie stworzyć dedykowane
podstrony dla konkretnych typów wpisów (gdy
mają zmienne nazwy)
Zaawansowane wykorzystanie
hierarchii szablonów w WordPressie
• Mocno ryzykowne jest tworzenie plików typu
category-slug.php
• Tak samo ciężko będzie stworzyć dedykowane
podstrony dla konkretnych typów wpisów (gdy
mają zmienne nazwy)
Dokumentacja
• Przygotuj siebie (i swój support) na to, że mało kto ją
przeczyta ;)
• Nastaw się, że trafisz na wielu klientów, którzy
WordPressa widzą drugi raz na oczy
• Twórz kod, który nie wymaga zbyt wiele dodatkowych
komentarzy
• Korzystaj w miarę możliwości z rozwiązań dostępnych w
czystym WordPressie
• Im mniej dodatkowych wtyczek tym lepiej dla Ciebie i
Twojego użytkownika
• Przygotuj siebie (i swój support) na to, że mało kto ją
przeczyta ;)
• Nastaw się, że trafisz na wielu klientów, którzy
WordPressa widzą drugi raz na oczy
• Twórz kod, który nie wymaga zbyt wiele dodatkowych
komentarzy
• Korzystaj w miarę możliwości z rozwiązań dostępnych w
czystym WordPressie
• Im mniej dodatkowych wtyczek tym lepiej dla Ciebie i
Twojego użytkownika
• Przygotuj siebie (i swój support) na to, że mało kto ją
przeczyta ;)
• Nastaw się, że trafisz na wielu klientów, którzy
WordPressa widzą drugi raz na oczy
• Twórz kod, który nie wymaga zbyt wiele dodatkowych
komentarzy
• Korzystaj w miarę możliwości z rozwiązań dostępnych w
czystym WordPressie
• Im mniej dodatkowych wtyczek tym lepiej dla Ciebie i
Twojego użytkownika
• Przygotuj siebie (i swój support) na to, że mało kto ją
przeczyta ;)
• Nastaw się, że trafisz na wielu klientów, którzy
WordPressa widzą drugi raz na oczy
• Twórz kod, który nie wymaga zbyt wiele dodatkowych
komentarzy
• Stopniowy rozwój motywu wspomaga tworzenie
dokumentacji
• Im mniej dodatkowych wtyczek tym lepiej dla Ciebie i
Twojego użytkownika
• Przygotuj siebie (i swój support) na to, że mało kto ją
przeczyta ;)
• Nastaw się, że trafisz na wielu klientów, którzy
WordPressa widzą drugi raz na oczy
• Twórz kod, który nie wymaga zbyt wiele dodatkowych
komentarzy
• Stopniowy rozwój motywu wspomaga tworzenie
dokumentacji
• Im mniej dodatkowych wtyczek tym lepiej dla Ciebie i
Twojego użytkownika
Troska o programistów
Wsparcie dla motywów
potomnych
!important EVERYTHING!!
• W functions.php używamy function_exists
• Tworzymy dający się nadpisać kod CSS
• Gdy użytkownik chce zmodyfikować nasz motyw,
warto mu przypomnieć by zrobił to poprzez motyw
potomny albo np. Custom CSS z JetPacka
• W functions.php używamy function_exists
• Tworzymy dający się nadpisać kod CSS
• Gdy użytkownik chce zmodyfikować nasz motyw,
warto mu przypomnieć by zrobił to poprzez motyw
potomny albo np. Custom CSS z JetPacka
• W functions.php używamy function_exists
• Tworzymy dający się nadpisać kod CSS
• Gdy użytkownik chce zmodyfikować nasz motyw,
warto mu przypomnieć by zrobił to poprzez motyw
potomny albo np. Custom CSS z JetPacka
<span style=“padding: 20px!important;”>
Porządek w plikach
Porządek w plikach
• Warto podzielić plik CSS na sekcje lub na kilka
plików (minifakcja i tak je połączy)
• Tworzymy katalogi na pliki CSS, JS, grafiki, fonty
• Biblioteki JS i CSS warto od razu udostępnić w
wersji zminifikowanej z *.min.* w nazwie
• W wypadku pluginów warto dodawać na końcu
nazwę frameworka jakiego używają np. *.jquery.js
Porządek w plikach
• Warto podzielić plik CSS na sekcje lub na kilka
plików (minifakcja i tak je połączy)
• Tworzymy katalogi na pliki CSS, JS, grafiki, fonty
• Biblioteki JS i CSS warto od razu udostępnić w
wersji zminifikowanej z *.min.* w nazwie
• W wypadku pluginów warto dodawać na końcu
nazwę frameworka jakiego używają np. *.jquery.js
Porządek w plikach
• Warto podzielić plik CSS na sekcje lub na kilka
plików (minifakcja i tak je połączy)
• Tworzymy katalogi na pliki CSS, JS, grafiki, fonty
• Biblioteki JS i CSS warto od razu udostępnić w
wersji zminifikowanej z *.min.* w nazwie
• W wypadku pluginów warto dodawać na końcu
nazwę frameworka jakiego używają np. *.jquery.js
Porządek w plikach
• Warto podzielić plik CSS na sekcje lub na kilka
plików (minifakcja i tak je połączy)
• Tworzymy katalogi na pliki CSS, JS, grafiki, fonty
• Biblioteki JS i CSS warto od razu udostępnić w
wersji zminifikowanej z *.min.* w nazwie
• W wypadku pluginów warto dodawać na końcu
nazwę frameworka jakiego używają np. *.jquery.js
get_template_part
get_template_part
• Reużycie istniejących fragmentów kodu
• Podzielenie dużych fragmentów kodu na mniejsze
części
• get_template_part($slug, $name) wczyta plik
{$slug}-{$name}.php
get_template_part
• Reużycie istniejących fragmentów kodu
• Podzielenie dużych fragmentów kodu na mniejsze
części
• get_template_part($slug, $name) wczyta plik
{$slug}-{$name}.php
get_template_part
• Reużycie istniejących fragmentów kodu
• Podzielenie dużych fragmentów kodu na mniejsze
części
• get_template_part($slug, $name) wczyta plik
{$slug}-{$name}.php
get_template_part
• Reużycie istniejących fragmentów kodu
• Podzielenie dużych fragmentów kodu na mniejsze
części
• get_template_part($slug, $name) wczyta plik
{$slug}-{$name}.php
• Pozwala łatwo nadpisać pliki w motywie potomnym
Czytelny kod CSS
LESS/SASS
LESS/SASS
• Zmienne pozwalają zmieniać szybko podstawowe
parametry strony
• Zagnieżdżone selektory wymuszają wręcz
uporządkowanie struktury kodu
• Dobrze współpracują z BEM
• Wtyczka WP LESS sprawia, że Gulp jest
niepotrzebny ;)
LESS/SASS
• Zmienne pozwalają zmieniać szybko podstawowe
parametry strony
• Zagnieżdżone selektory wymuszają wręcz
uporządkowanie struktury kodu
• Dobrze współpracują z BEM
• Wtyczka WP LESS sprawia, że Gulp jest
niepotrzebny ;)
LESS/SASS
• Zmienne pozwalają zmieniać szybko podstawowe
parametry strony
• Zagnieżdżone selektory wymuszają wręcz
uporządkowanie struktury kodu
• Dobrze współpracują z BEM
• Wtyczka WP LESS sprawia, że Gulp jest
niepotrzebny ;)
LESS/SASS
• Zmienne pozwalają zmieniać szybko podstawowe
parametry strony
• Zagnieżdżone selektory wymuszają wręcz
uporządkowanie struktury kodu
• Dobrze współpracują z BEM
• Wtyczka WP LESS sprawia, że Grunt/Gulp jest
niepotrzebny ;)
Korzystanie z dostępnych API
Korzystanie z dostępnych API
• Oszczędność naszego czasu
• Oszczędność czasu innych programistów (nie
muszą się uczyć naszego rozwiązania)
• Bezpieczniejszy i lepiej przetestowany kod
Korzystanie z dostępnych API
• Oszczędność naszego czasu
• Oszczędność czasu innych programistów (nie
muszą się uczyć naszego rozwiązania)
• Bezpieczniejszy i lepiej przetestowany kod
Korzystanie z dostępnych API
• Oszczędność naszego czasu
• Oszczędność czasu innych programistów (nie
muszą się uczyć naszego rozwiązania)
• Bezpieczniejszy i lepiej przetestowany kod
A GDYBY TAK NAPISAĆ WŁASNĄ
WERSJĘ THEME MODS API?
A GDYBY TAK NAPISAĆ WŁASNĄ
WERSJĘ THEME MODS API?
Źródło: https://codex.wordpress.org/Theme_Modification_API
Myślenie o przyszłości
Wtyczki vs. Motywy
Wtyczki vs. Motywy
• Custom Post Type jako plugin
• Shortcodes jako plugin
• Złożone widżety jako plugin
Wtyczki vs. Motywy
• Custom Post Type jako plugin
• Shortcodes jako plugin
• Złożone widżety jako plugin
Wtyczki vs. Motywy
• Custom Post Type jako plugin
• Shortcodes jako plugin
• Złożone widżety jako plugin
Brak URLi w opcjach
motywu
• WordPress serializuje opcje motywu i treść
widżetów
• Serializacja uniemożliwia łatwą zmianę wartości
• Rozwiązanie: http://dziudek.pl/motywy/
przechowywanie-nazwy-domeny-w-ustawieniach-
motywu
• WordPress serializuje opcje motywu i treść
widżetów
• Serializacja uniemożliwia łatwą zmianę wartości
• Rozwiązanie: http://dziudek.pl/motywy/
przechowywanie-nazwy-domeny-w-ustawieniach-
motywu
• WordPress serializuje opcje motywu i treść
widżetów
• Serializacja uniemożliwia łatwą zmianę wartości
• Jedno z rozwiązań: http://dziudek.pl/motywy/
przechowywanie-nazwy-domeny-w-ustawieniach-
motywu
Na przyszłość: świadome
wykorzystanie REST API
REST API otwiera przed nami nowe
obszary wykorzystania motywów
• Zamiast znacząco modyfikować standardowe
odpowiedzi REST API lepiej stworzyć dedykowane
end-pointy dla swojego motywu w odpowiedniej
przestrzeni nazw np. slug_theme/v1
• Dodając pola do odpowiedzi REST API należy
pamiętać by je odpowiednio prefiksować np.
slug_category
• Zamiast znacząco modyfikować standardowe
odpowiedzi REST API lepiej stworzyć dedykowane
end-pointy dla swojego motywu w odpowiedniej
przestrzeni nazw np. slug_theme/v1
• Dodając pola do odpowiedzi REST API należy
pamiętać by je odpowiednio prefiksować np.
slug_category
Lead Developer @
@dziudek
http://dziudek.pl
http://dziudek.github.io/wp-links
http://dziudek.github.io/dev-links
Tomasz Dziuda
Pytania?

Weitere ähnliche Inhalte

Ähnlich wie Jak tworzyć motywy przyjazne użytkownikom i programistom?

Specyfikacja modernizacji interfejsu euro sklep
Specyfikacja modernizacji interfejsu   euro sklepSpecyfikacja modernizacji interfejsu   euro sklep
Specyfikacja modernizacji interfejsu euro sklep
dan-tom
 
Specyfikacja modernizacji interfejsu euro sklep
Specyfikacja modernizacji interfejsu   euro sklepSpecyfikacja modernizacji interfejsu   euro sklep
Specyfikacja modernizacji interfejsu euro sklep
dan-tom
 

Ähnlich wie Jak tworzyć motywy przyjazne użytkownikom i programistom? (20)

Motywy WooCommerce dla początkujących
Motywy WooCommerce dla początkującychMotywy WooCommerce dla początkujących
Motywy WooCommerce dla początkujących
 
Jak modyfikować motywy WooCommerce
Jak modyfikować motywy WooCommerceJak modyfikować motywy WooCommerce
Jak modyfikować motywy WooCommerce
 
Wordpress dla początkujących szkolenie / warsztat 01/10 Wprowadzenie do WP
Wordpress dla początkujących szkolenie / warsztat 01/10 Wprowadzenie do WPWordpress dla początkujących szkolenie / warsztat 01/10 Wprowadzenie do WP
Wordpress dla początkujących szkolenie / warsztat 01/10 Wprowadzenie do WP
 
20 Joomlasztuczek, które mogą CI się przydać
20 Joomlasztuczek, które mogą CI się przydać20 Joomlasztuczek, które mogą CI się przydać
20 Joomlasztuczek, które mogą CI się przydać
 
Wordpress dla każdego
Wordpress dla każdegoWordpress dla każdego
Wordpress dla każdego
 
Fundamenty SEO i SEM w Twoim sklepie - Warsztaty dla początkujących - Fox Str...
Fundamenty SEO i SEM w Twoim sklepie - Warsztaty dla początkujących - Fox Str...Fundamenty SEO i SEM w Twoim sklepie - Warsztaty dla początkujących - Fox Str...
Fundamenty SEO i SEM w Twoim sklepie - Warsztaty dla początkujących - Fox Str...
 
Blog Forum Gdańsk 2012 | Jak lepiej skonfigurować Wordpressa
Blog Forum Gdańsk 2012 | Jak lepiej skonfigurować WordpressaBlog Forum Gdańsk 2012 | Jak lepiej skonfigurować Wordpressa
Blog Forum Gdańsk 2012 | Jak lepiej skonfigurować Wordpressa
 
WordUp Trójmiasto - Sage 9 w praktyce
WordUp Trójmiasto - Sage 9 w praktyceWordUp Trójmiasto - Sage 9 w praktyce
WordUp Trójmiasto - Sage 9 w praktyce
 
Wordpress dla początkujących szkolenie / warsztat 07/10 Sidebary, Widgety, Mo...
Wordpress dla początkujących szkolenie / warsztat 07/10 Sidebary, Widgety, Mo...Wordpress dla początkujących szkolenie / warsztat 07/10 Sidebary, Widgety, Mo...
Wordpress dla początkujących szkolenie / warsztat 07/10 Sidebary, Widgety, Mo...
 
M4j1
M4j1M4j1
M4j1
 
M4j1
M4j1M4j1
M4j1
 
Word up warszawa 2015
Word up warszawa 2015Word up warszawa 2015
Word up warszawa 2015
 
WordPress dla początkujących
WordPress dla początkującychWordPress dla początkujących
WordPress dla początkujących
 
Błędy userów, niedoróbki koderów
Błędy userów, niedoróbki koderówBłędy userów, niedoróbki koderów
Błędy userów, niedoróbki koderów
 
Blogi od kuchni
Blogi od kuchniBlogi od kuchni
Blogi od kuchni
 
4Developers 2023: frontendowe optymalizacje wydajności / Bartek Miś / Web Dev...
4Developers 2023: frontendowe optymalizacje wydajności / Bartek Miś / Web Dev...4Developers 2023: frontendowe optymalizacje wydajności / Bartek Miś / Web Dev...
4Developers 2023: frontendowe optymalizacje wydajności / Bartek Miś / Web Dev...
 
Specyfikacja modernizacji interfejsu euro sklep
Specyfikacja modernizacji interfejsu   euro sklepSpecyfikacja modernizacji interfejsu   euro sklep
Specyfikacja modernizacji interfejsu euro sklep
 
Specyfikacja modernizacji interfejsu euro sklep
Specyfikacja modernizacji interfejsu   euro sklepSpecyfikacja modernizacji interfejsu   euro sklep
Specyfikacja modernizacji interfejsu euro sklep
 
Wordpress dla początkujących szkolenie / warsztat 04/10 Optymalizacja WordPressa
Wordpress dla początkujących szkolenie / warsztat 04/10 Optymalizacja WordPressaWordpress dla początkujących szkolenie / warsztat 04/10 Optymalizacja WordPressa
Wordpress dla początkujących szkolenie / warsztat 04/10 Optymalizacja WordPressa
 
Własny szablon WordPress
Własny szablon WordPressWłasny szablon WordPress
Własny szablon WordPress
 

Mehr von Tomasz Dziuda

Mehr von Tomasz Dziuda (20)

Wtyczkowe kompendium - WordUp Warszawa
Wtyczkowe kompendium - WordUp WarszawaWtyczkowe kompendium - WordUp Warszawa
Wtyczkowe kompendium - WordUp Warszawa
 
Wtyczkowe Kompendium - WordUp Łódź #12
Wtyczkowe Kompendium - WordUp Łódź #12Wtyczkowe Kompendium - WordUp Łódź #12
Wtyczkowe Kompendium - WordUp Łódź #12
 
Trello w praktyce
Trello w praktyceTrello w praktyce
Trello w praktyce
 
Wtyczkowe Kompendium - WordUp Lublin
Wtyczkowe Kompendium - WordUp LublinWtyczkowe Kompendium - WordUp Lublin
Wtyczkowe Kompendium - WordUp Lublin
 
Wtyczkowe kompendium
Wtyczkowe kompendiumWtyczkowe kompendium
Wtyczkowe kompendium
 
Jak Twoja strona moze wygenerować niespodziewane koszta? WordUp Kraków
Jak Twoja strona moze wygenerować niespodziewane koszta? WordUp KrakówJak Twoja strona moze wygenerować niespodziewane koszta? WordUp Kraków
Jak Twoja strona moze wygenerować niespodziewane koszta? WordUp Kraków
 
Jak Twoja strona może wygenerować niespodziewane koszta
Jak Twoja strona może wygenerować niespodziewane kosztaJak Twoja strona może wygenerować niespodziewane koszta
Jak Twoja strona może wygenerować niespodziewane koszta
 
REST API - teoria i praktyka - WordUp Trójmiasto
REST API - teoria i praktyka - WordUp TrójmiastoREST API - teoria i praktyka - WordUp Trójmiasto
REST API - teoria i praktyka - WordUp Trójmiasto
 
REST API - teoria i praktyka - WordUp Warszawa
REST API - teoria i praktyka - WordUp WarszawaREST API - teoria i praktyka - WordUp Warszawa
REST API - teoria i praktyka - WordUp Warszawa
 
Electron + WordPress = ❤
Electron + WordPress = ❤Electron + WordPress = ❤
Electron + WordPress = ❤
 
Jak nadążyć za światem front endu
Jak nadążyć za światem front enduJak nadążyć za światem front endu
Jak nadążyć za światem front endu
 
Statycznie czy dynamicznie - infoMEET Wrocław
Statycznie czy dynamicznie - infoMEET WrocławStatycznie czy dynamicznie - infoMEET Wrocław
Statycznie czy dynamicznie - infoMEET Wrocław
 
Dokąd zmierza WordPress?
Dokąd zmierza WordPress?Dokąd zmierza WordPress?
Dokąd zmierza WordPress?
 
Jak nadążyć za światem front-endu - WordPress Training Day
Jak nadążyć za światem front-endu - WordPress Training DayJak nadążyć za światem front-endu - WordPress Training Day
Jak nadążyć za światem front-endu - WordPress Training Day
 
Statycznie czy dynamicznie? v.2.0
Statycznie czy dynamicznie? v.2.0Statycznie czy dynamicznie? v.2.0
Statycznie czy dynamicznie? v.2.0
 
Webinar: 5 Tricks for WordPress web administrators
Webinar: 5 Tricks for WordPress web administratorsWebinar: 5 Tricks for WordPress web administrators
Webinar: 5 Tricks for WordPress web administrators
 
Statycznie czy dynamicznie?
Statycznie czy dynamicznie?Statycznie czy dynamicznie?
Statycznie czy dynamicznie?
 
Jak nadążyć za światem front-endu?
Jak nadążyć za światem front-endu?Jak nadążyć za światem front-endu?
Jak nadążyć za światem front-endu?
 
JSztuczki
JSztuczkiJSztuczki
JSztuczki
 
Wprowadzenie do WP-API
Wprowadzenie do WP-APIWprowadzenie do WP-API
Wprowadzenie do WP-API
 

Jak tworzyć motywy przyjazne użytkownikom i programistom?

  • 1. Jak tworzyć motywy przyjazne użytkownikom 
 i programistom? Tomasz Dziuda WordUp Toruń #3 09.10.2015
  • 2. Jak bardzo złożony jest proces tworzenia motywu?
  • 4. Ćwiczenie • Zapoznaj się z wytycznymi oficjalnego repozytorium ( https://make.wordpress.org/themes/ handbook/review/required/ ) • Zrób przegląd motywu kandydującego do repozytorium
  • 5. Ćwiczenie • Zapoznaj się z wytycznymi oficjalnego repozytorium ( https://make.wordpress.org/themes/ handbook/review/required/ ) • Zrób przegląd motywu kandydującego do repozytorium
  • 6.
  • 7.
  • 9. Warto zapamiętać • Stworzenie pierwszego motywu dla szerokiego grona użytkowników nie jest wcale takie proste • Kolejne motywy prawie zawsze bazują na fragmentach kodu poprzednich motywów • Swoją przygodę z motywami warto zacząć od stworzenia motywu potomnego... • ... lub skorzystać z frameworka takiego jak _s
  • 10. Warto zapamiętać • Stworzenie pierwszego motywu dla szerokiego grona użytkowników nie jest wcale takie proste • Kolejne motywy prawie zawsze bazują na fragmentach kodu poprzednich motywów • Swoją przygodę z motywami warto zacząć od stworzenia motywu potomnego... • ... lub skorzystać z frameworka takiego jak _s
  • 11. Warto zapamiętać • Stworzenie pierwszego motywu dla szerokiego grona użytkowników nie jest wcale takie proste • Kolejne motywy prawie zawsze bazują na fragmentach kodu poprzednich motywów • Swoją przygodę z motywami warto zacząć od stworzenia motywu potomnego... • ... lub skorzystać z frameworka takiego jak _s
  • 12. Warto zapamiętać • Stworzenie pierwszego motywu dla szerokiego grona użytkowników nie jest wcale takie proste • Kolejne motywy prawie zawsze bazują na fragmentach kodu poprzednich motywów • Swoją przygodę z motywami warto zacząć od stworzenia motywu potomnego... • ... lub skorzystać z frameworka takiego jak _s
  • 15. • Lista testów każdego elementu strony stale się wydłuża (różne przeglądarki, responsywność, dostępność) • Bardziej złożone motywy mają więcej kombinacji i zależności pomiędzy poszczególnymi komponentami • Nie wiadomo czy motyw się przyjmie na rynku • Twój motyw nie musi być od razu doskonały
  • 16. • Lista testów każdego elementu strony stale się wydłuża (różne przeglądarki, responsywność, dostępność) • Bardziej złożone motywy mają więcej kombinacji i zależności pomiędzy poszczególnymi komponentami • Nie wiadomo czy motyw się przyjmie na rynku • Twój motyw nie musi być od razu doskonały
  • 17. • Lista testów każdego elementu strony stale się wydłuża (różne przeglądarki, responsywność, dostępność) • Bardziej złożone motywy mają więcej kombinacji i zależności pomiędzy poszczególnymi komponentami • Nie wiadomo czy motyw się przyjmie na rynku • Twój motyw nie musi być od razu doskonały
  • 18. • Lista testów każdego elementu strony stale się wydłuża (różne przeglądarki, responsywność, dostępność) • Bardziej złożone motywy mają więcej kombinacji i zależności pomiędzy poszczególnymi komponentami • Nie wiadomo czy motyw się przyjmie na rynku • Twój motyw nie musi być od razu doskonały
  • 20. “Mam wielu klientów, którzy nie są w stanie dostarczyć mi sensownej ilości treści na swoją stronę” Powody zakupu motywu potrafią zaskoczyć
  • 21. Kilka obserwacji dot. rynku motywów
  • 22. Kilka obserwacji dot. rynku motywów • Najładniejsze motywy wcale nie sprzedają się najlepiej • Wsparcie dla popularnych rozszerzeń typu WooCommerce jest bardzo pożądane • Niszowe tematy przewodnie mogą okazać się dużym niewypałem
  • 23. Kilka obserwacji dot. rynku motywów • Najładniejsze motywy wcale nie sprzedają się najlepiej • Wsparcie dla popularnych rozszerzeń typu WooCommerce jest bardzo pożądane • Niszowe tematy przewodnie mogą okazać się dużym niewypałem
  • 24. Kilka obserwacji dot. rynku motywów • Najładniejsze motywy wcale nie sprzedają się najlepiej • Wsparcie dla popularnych rozszerzeń typu WooCommerce jest bardzo pożądane • Niszowe tematy motywów mogą okazać się dużym niewypałem
  • 25. USE OF VISUAL COMPOSER GAVE ME A CANCER
  • 28. Zalety • Pozwala od razu zobaczyć efekty naniesionych zmian • Jego budowa wymusza tworzenie prostych paneli zarządzania motywami • Wspomaga testowanie opcji na etapie budowy motywu • Ten sam UI dla opcji wszystkich motywów
  • 29. Zalety • Pozwala od razu zobaczyć efekty naniesionych zmian • Jego budowa wymusza tworzenie prostych paneli zarządzania motywami • Wspomaga testowanie opcji na etapie budowy motywu • Ten sam UI dla opcji wszystkich motywów
  • 30. Zalety • Pozwala od razu zobaczyć efekty naniesionych zmian • Jego budowa wymusza tworzenie prostych paneli zarządzania motywami • Wspomaga testowanie opcji na etapie budowy motywu • Ten sam UI dla opcji wszystkich motywów
  • 31. Zalety • Pozwala od razu zobaczyć efekty naniesionych zmian • Jego budowa wymusza tworzenie prostych paneli zarządzania motywami • Wspomaga testowanie opcji na etapie budowy motywu • Ten sam UI dla opcji wszystkich motywów
  • 32. Wady
  • 33. Wady • Wymusza na nas zmianę pewnych koncepcji, zwłaszcza tych związanych z rozbudowanym UI • Jest i będzie dość często zmieniany jego UI co czasem dokłada pracy np. przy animacjach • Niektóre funkcje jak np. active_callback są mało intuicyjne dla początkujących użytkowników
  • 34. Wady • Wymusza na nas zmianę pewnych koncepcji, zwłaszcza tych związanych z rozbudowanym UI • Jest i będzie dość często zmieniany jego UI co czasem dokłada pracy np. przy animacjach • Niektóre funkcje jak np. active_callback są mało intuicyjne dla początkujących użytkowników
  • 35. Wady • Wymusza na nas zmianę pewnych koncepcji, zwłaszcza tych związanych z rozbudowanym UI • Jest i będzie dość często zmieniany jego UI co czasem dokłada pracy np. przy animacjach • Niektóre funkcje jak np. active_callback są mało intuicyjne dla początkujących użytkowników
  • 37. Opcje must-have • Zmiana logo strony • Zmiana tła strony • Zmiana bazowych kolorów motywu • Zmiana krojów pisma • Zmiana stopki ;)
  • 38. Opcje must-have • Zmiana logo strony • Zmiana tła strony • Zmiana bazowych kolorów motywu • Zmiana krojów pisma • Zmiana stopki ;)
  • 39. Opcje must-have • Zmiana logo strony • Zmiana tła strony • Zmiana bazowych kolorów motywu • Zmiana krojów pisma • Zmiana stopki ;)
  • 40. Opcje must-have • Zmiana logo strony • Zmiana tła strony • Zmiana bazowych kolorów motywu • Zmiana krojów pisma • Zmiana stopki ;)
  • 41. Opcje must-have • Zmiana logo strony • Zmiana tła strony • Zmiana bazowych kolorów motywu • Zmiana krojów pisma • Zmiana stopki ;)
  • 43. function my_theme_add_editor_styles() { add_editor_style( 'custom-editor-style.css' ); } add_action( 'admin_init', 'my_theme_add_editor_styles' ); Warto przejrzeć: https://codex.wordpress.org/Editor_Style
  • 46. Dedykowany instalator WordPressa • Na ThemeForest / oficjalne repozytorium można umieścić tylko paczkę z motywem • Użytkownik często ma już istniejącą stronę na której chce zmienić motyw • Dużo hostingów posiada własne auto-instalatory WordPressa
  • 47. Dedykowany instalator WordPressa • Na ThemeForest / oficjalne repozytorium można umieścić tylko paczkę z motywem • Użytkownik często ma już istniejącą stronę na której chce zmienić motyw • Dużo hostingów posiada własne auto-instalatory WordPressa
  • 48. Dedykowany instalator WordPressa • Na ThemeForest / oficjalne repozytorium można umieścić tylko paczkę z motywem • Użytkownik często ma już istniejącą stronę na której chce zmienić motyw • Dużo hostingów posiada własne auto-instalatory WordPressa
  • 49. WXR
  • 50. WXR • Łatwa migracja postów i podstron • Brak możliwości migracji widżetów • Należy zadbać o domyślną konfigurację motywu (WXR jej nie przenosi) • Najlepiej strukturę strony oprzeć na podstronach i umieścić w nich widżety w postaci shortcode'ów
  • 51. WXR • Łatwa migracja postów i podstron • Brak możliwości migracji widżetów • Należy zadbać o domyślną konfigurację motywu (WXR jej nie przenosi) • Najlepiej strukturę strony oprzeć na podstronach i umieścić w nich widżety w postaci shortcode'ów
  • 52. WXR • Łatwa migracja postów i podstron • Brak możliwości migracji widżetów • Należy zadbać o domyślną konfigurację motywu (WXR jej nie przenosi) • Najlepiej strukturę strony oprzeć na podstronach i umieścić w nich widżety w postaci shortcode'ów
  • 53. WXR • Łatwa migracja postów i podstron • Brak możliwości migracji widżetów • Należy zadbać o domyślną konfigurację motywu (WXR jej nie przenosi) • Najlepiej strukturę strony oprzeć na podstronach i umieścić w nich widżety w postaci shortcode'ów
  • 55. Dedykowane rozwiązania • Możliwość migracji dowolnych danych • Należy uwzględnić fakt, że użytkownik może mieć własne treści na stronie • Możliwość przeniesienia konfiguracji widżetów i motywu • Częściowe przenosiny danych (np. konfiguracji widżetów bez treści demo) jest problematyczne
  • 56. Dedykowane rozwiązania • Możliwość migracji dowolnych danych • Należy uwzględnić fakt, że użytkownik może mieć własne treści na stronie • Możliwość przeniesienia konfiguracji widżetów i motywu • Częściowe przenosiny danych (np. konfiguracji widżetów bez treści demo) jest problematyczne
  • 57. Dedykowane rozwiązania • Możliwość migracji dowolnych danych • Należy uwzględnić fakt, że użytkownik może mieć własne treści na stronie • Możliwość przeniesienia konfiguracji widżetów i motywu • Częściowe przenosiny danych (np. konfiguracji widżetów bez treści demo) jest problematyczne
  • 58. Dedykowane rozwiązania • Możliwość migracji dowolnych danych • Należy uwzględnić fakt, że użytkownik może mieć własne treści na stronie • Możliwość przeniesienia konfiguracji widżetów i motywu • Częściowe przenosiny danych (np. konfiguracji widżetów bez treści demo) jest problematyczne
  • 60. Slideshow pokazujący wpisy z danego tagu Źródło: https://codex.wordpress.org/Twenty_Fourteen Należy zadbać o to by można było zmienić nazwę tagu wybieranego do slideshow
  • 61. Zaawansowane wykorzystanie hierarchii szablonów w WordPressie Zobacz: http://wphierarchy.com
  • 62. Zaawansowane wykorzystanie hierarchii szablonów w WordPressie • Mocno ryzykowne jest tworzenie plików typu category-slug.php • Tak samo ciężko będzie stworzyć dedykowane podstrony dla konkretnych typów wpisów (gdy mają zmienne nazwy)
  • 63. Zaawansowane wykorzystanie hierarchii szablonów w WordPressie • Mocno ryzykowne jest tworzenie plików typu category-slug.php • Tak samo ciężko będzie stworzyć dedykowane podstrony dla konkretnych typów wpisów (gdy mają zmienne nazwy)
  • 65. • Przygotuj siebie (i swój support) na to, że mało kto ją przeczyta ;) • Nastaw się, że trafisz na wielu klientów, którzy WordPressa widzą drugi raz na oczy • Twórz kod, który nie wymaga zbyt wiele dodatkowych komentarzy • Korzystaj w miarę możliwości z rozwiązań dostępnych w czystym WordPressie • Im mniej dodatkowych wtyczek tym lepiej dla Ciebie i Twojego użytkownika
  • 66. • Przygotuj siebie (i swój support) na to, że mało kto ją przeczyta ;) • Nastaw się, że trafisz na wielu klientów, którzy WordPressa widzą drugi raz na oczy • Twórz kod, który nie wymaga zbyt wiele dodatkowych komentarzy • Korzystaj w miarę możliwości z rozwiązań dostępnych w czystym WordPressie • Im mniej dodatkowych wtyczek tym lepiej dla Ciebie i Twojego użytkownika
  • 67. • Przygotuj siebie (i swój support) na to, że mało kto ją przeczyta ;) • Nastaw się, że trafisz na wielu klientów, którzy WordPressa widzą drugi raz na oczy • Twórz kod, który nie wymaga zbyt wiele dodatkowych komentarzy • Korzystaj w miarę możliwości z rozwiązań dostępnych w czystym WordPressie • Im mniej dodatkowych wtyczek tym lepiej dla Ciebie i Twojego użytkownika
  • 68. • Przygotuj siebie (i swój support) na to, że mało kto ją przeczyta ;) • Nastaw się, że trafisz na wielu klientów, którzy WordPressa widzą drugi raz na oczy • Twórz kod, który nie wymaga zbyt wiele dodatkowych komentarzy • Stopniowy rozwój motywu wspomaga tworzenie dokumentacji • Im mniej dodatkowych wtyczek tym lepiej dla Ciebie i Twojego użytkownika
  • 69. • Przygotuj siebie (i swój support) na to, że mało kto ją przeczyta ;) • Nastaw się, że trafisz na wielu klientów, którzy WordPressa widzą drugi raz na oczy • Twórz kod, który nie wymaga zbyt wiele dodatkowych komentarzy • Stopniowy rozwój motywu wspomaga tworzenie dokumentacji • Im mniej dodatkowych wtyczek tym lepiej dla Ciebie i Twojego użytkownika
  • 73. • W functions.php używamy function_exists • Tworzymy dający się nadpisać kod CSS • Gdy użytkownik chce zmodyfikować nasz motyw, warto mu przypomnieć by zrobił to poprzez motyw potomny albo np. Custom CSS z JetPacka
  • 74. • W functions.php używamy function_exists • Tworzymy dający się nadpisać kod CSS • Gdy użytkownik chce zmodyfikować nasz motyw, warto mu przypomnieć by zrobił to poprzez motyw potomny albo np. Custom CSS z JetPacka
  • 75. • W functions.php używamy function_exists • Tworzymy dający się nadpisać kod CSS • Gdy użytkownik chce zmodyfikować nasz motyw, warto mu przypomnieć by zrobił to poprzez motyw potomny albo np. Custom CSS z JetPacka
  • 77.
  • 79. Porządek w plikach • Warto podzielić plik CSS na sekcje lub na kilka plików (minifakcja i tak je połączy) • Tworzymy katalogi na pliki CSS, JS, grafiki, fonty • Biblioteki JS i CSS warto od razu udostępnić w wersji zminifikowanej z *.min.* w nazwie • W wypadku pluginów warto dodawać na końcu nazwę frameworka jakiego używają np. *.jquery.js
  • 80. Porządek w plikach • Warto podzielić plik CSS na sekcje lub na kilka plików (minifakcja i tak je połączy) • Tworzymy katalogi na pliki CSS, JS, grafiki, fonty • Biblioteki JS i CSS warto od razu udostępnić w wersji zminifikowanej z *.min.* w nazwie • W wypadku pluginów warto dodawać na końcu nazwę frameworka jakiego używają np. *.jquery.js
  • 81. Porządek w plikach • Warto podzielić plik CSS na sekcje lub na kilka plików (minifakcja i tak je połączy) • Tworzymy katalogi na pliki CSS, JS, grafiki, fonty • Biblioteki JS i CSS warto od razu udostępnić w wersji zminifikowanej z *.min.* w nazwie • W wypadku pluginów warto dodawać na końcu nazwę frameworka jakiego używają np. *.jquery.js
  • 82. Porządek w plikach • Warto podzielić plik CSS na sekcje lub na kilka plików (minifakcja i tak je połączy) • Tworzymy katalogi na pliki CSS, JS, grafiki, fonty • Biblioteki JS i CSS warto od razu udostępnić w wersji zminifikowanej z *.min.* w nazwie • W wypadku pluginów warto dodawać na końcu nazwę frameworka jakiego używają np. *.jquery.js
  • 84. get_template_part • Reużycie istniejących fragmentów kodu • Podzielenie dużych fragmentów kodu na mniejsze części • get_template_part($slug, $name) wczyta plik {$slug}-{$name}.php
  • 85. get_template_part • Reużycie istniejących fragmentów kodu • Podzielenie dużych fragmentów kodu na mniejsze części • get_template_part($slug, $name) wczyta plik {$slug}-{$name}.php
  • 86. get_template_part • Reużycie istniejących fragmentów kodu • Podzielenie dużych fragmentów kodu na mniejsze części • get_template_part($slug, $name) wczyta plik {$slug}-{$name}.php
  • 87. get_template_part • Reużycie istniejących fragmentów kodu • Podzielenie dużych fragmentów kodu na mniejsze części • get_template_part($slug, $name) wczyta plik {$slug}-{$name}.php • Pozwala łatwo nadpisać pliki w motywie potomnym
  • 90. LESS/SASS • Zmienne pozwalają zmieniać szybko podstawowe parametry strony • Zagnieżdżone selektory wymuszają wręcz uporządkowanie struktury kodu • Dobrze współpracują z BEM • Wtyczka WP LESS sprawia, że Gulp jest niepotrzebny ;)
  • 91. LESS/SASS • Zmienne pozwalają zmieniać szybko podstawowe parametry strony • Zagnieżdżone selektory wymuszają wręcz uporządkowanie struktury kodu • Dobrze współpracują z BEM • Wtyczka WP LESS sprawia, że Gulp jest niepotrzebny ;)
  • 92. LESS/SASS • Zmienne pozwalają zmieniać szybko podstawowe parametry strony • Zagnieżdżone selektory wymuszają wręcz uporządkowanie struktury kodu • Dobrze współpracują z BEM • Wtyczka WP LESS sprawia, że Gulp jest niepotrzebny ;)
  • 93. LESS/SASS • Zmienne pozwalają zmieniać szybko podstawowe parametry strony • Zagnieżdżone selektory wymuszają wręcz uporządkowanie struktury kodu • Dobrze współpracują z BEM • Wtyczka WP LESS sprawia, że Grunt/Gulp jest niepotrzebny ;)
  • 95. Korzystanie z dostępnych API • Oszczędność naszego czasu • Oszczędność czasu innych programistów (nie muszą się uczyć naszego rozwiązania) • Bezpieczniejszy i lepiej przetestowany kod
  • 96. Korzystanie z dostępnych API • Oszczędność naszego czasu • Oszczędność czasu innych programistów (nie muszą się uczyć naszego rozwiązania) • Bezpieczniejszy i lepiej przetestowany kod
  • 97. Korzystanie z dostępnych API • Oszczędność naszego czasu • Oszczędność czasu innych programistów (nie muszą się uczyć naszego rozwiązania) • Bezpieczniejszy i lepiej przetestowany kod
  • 98. A GDYBY TAK NAPISAĆ WŁASNĄ WERSJĘ THEME MODS API?
  • 99. A GDYBY TAK NAPISAĆ WŁASNĄ WERSJĘ THEME MODS API?
  • 103. Wtyczki vs. Motywy • Custom Post Type jako plugin • Shortcodes jako plugin • Złożone widżety jako plugin
  • 104. Wtyczki vs. Motywy • Custom Post Type jako plugin • Shortcodes jako plugin • Złożone widżety jako plugin
  • 105. Wtyczki vs. Motywy • Custom Post Type jako plugin • Shortcodes jako plugin • Złożone widżety jako plugin
  • 106. Brak URLi w opcjach motywu
  • 107. • WordPress serializuje opcje motywu i treść widżetów • Serializacja uniemożliwia łatwą zmianę wartości • Rozwiązanie: http://dziudek.pl/motywy/ przechowywanie-nazwy-domeny-w-ustawieniach- motywu
  • 108. • WordPress serializuje opcje motywu i treść widżetów • Serializacja uniemożliwia łatwą zmianę wartości • Rozwiązanie: http://dziudek.pl/motywy/ przechowywanie-nazwy-domeny-w-ustawieniach- motywu
  • 109. • WordPress serializuje opcje motywu i treść widżetów • Serializacja uniemożliwia łatwą zmianę wartości • Jedno z rozwiązań: http://dziudek.pl/motywy/ przechowywanie-nazwy-domeny-w-ustawieniach- motywu
  • 111. REST API otwiera przed nami nowe obszary wykorzystania motywów
  • 112. • Zamiast znacząco modyfikować standardowe odpowiedzi REST API lepiej stworzyć dedykowane end-pointy dla swojego motywu w odpowiedniej przestrzeni nazw np. slug_theme/v1 • Dodając pola do odpowiedzi REST API należy pamiętać by je odpowiednio prefiksować np. slug_category
  • 113. • Zamiast znacząco modyfikować standardowe odpowiedzi REST API lepiej stworzyć dedykowane end-pointy dla swojego motywu w odpowiedniej przestrzeni nazw np. slug_theme/v1 • Dodając pola do odpowiedzi REST API należy pamiętać by je odpowiednio prefiksować np. slug_category