Na Contributor Day przed WordCampem w Gdyni przeprowadziłem review motywu na żywo dla uczestników, którzy również przeglądali motywy. Zauważyłem, że dla wszystkich było to interesujące doświadczenie i pokazywało wiele kwestii, które normalnie się pomija mówiąc jak przeglądać motywy.
Dlatego przejrzałem kod kilkudziesięciu motywów (nie mylić z pełnym review) z kilkuset czekających w kolejce do przejrzenia i wybrałem najciekawsze błędy developerów motywów, aby je omówić i zaproponować lepsze rozwiązania.
Dlaczego? Bo jedną z idei oprogramowania Open Source jest wspólna nauka (także ta na cudzych błędach).
Na Contributor Day przed WordCampem w Gdyni przeprowadziłem review motywu na żywo dla uczestników, którzy również przeglądali motywy. Zauważyłem, że dla wszystkich było to interesujące doświadczenie i pokazywało wiele kwestii, które normalnie się pomija mówiąc jak przeglądać motywy.
Dlatego przejrzałem kod kilkudziesięciu motywów (nie mylić z pełnym review) z kilkuset czekających w kolejce do przejrzenia i wybrałem najciekawsze błędy developerów motywów, aby je omówić i zaproponować lepsze rozwiązania.
Dlaczego? Bo jedną z idei oprogramowania Open Source jest wspólna nauka (także ta na cudzych błędach).
Prezentacja otwierająca WordCamp Gdynia 2016, traktująca o czynnikach wpływających na ekosystem WordPressa oraz o tym jak będzie wyglądała przyszłość WordPressa.
Jak tworzyć motywy przyjazne użytkownikom i programistom - WordUp SilesiaTomasz Dziuda
Kolejna iteracja mojej prezentacji dotyczącej tworzenia motywów, które spełniają nie tylko potrzeby użytkowników ale też programistów, którzy z nimi pracują.
Contributor Day - WordCamp Lublin 2017 - przegląd motywówTomasz Dziuda
Zbiór porad i informacji dla osób chcących zajmować się przeglądem motywów kandydujących do pojawienia się na oficjalnym repozytorium WordPress.org. Przygotowany z myślą o uczestnikach Contributor Day
Wielomilonowy ruch na wordpressie wordpress wordcamp gdynia 2016Lukasz Wilczak
W powszechnej opinii WordPress nie jest używany do tworzenia serwisów o dużym natężeniu ruchu. Jednak przy odpowiednim zapleczu i konfiguracji możemy korzystać z jego możliwości i nie martwić się o wydajność. Z prezentacji dowiesz się, jak w Grand Parade tworzymy serwisy i przygotowujemy pod nie infrastrukturę dla blogów o dużym natężeniu ruchu i tematyce bettingowej takich jak: news.bwin.com, articles.matchbook.com, news.ladbrokes.com czy sunbets.cu.uk.
Omówimy mechanizmy cache-ujące takie jak Varnish, Redis, infrastrukturę CloudFront i S3 Amazona, sposoby skalowania środowisk z użyciem Load Balancera.
Prezentacja otwierająca WordCamp Gdynia 2016, traktująca o czynnikach wpływających na ekosystem WordPressa oraz o tym jak będzie wyglądała przyszłość WordPressa.
Jak tworzyć motywy przyjazne użytkownikom i programistom - WordUp SilesiaTomasz Dziuda
Kolejna iteracja mojej prezentacji dotyczącej tworzenia motywów, które spełniają nie tylko potrzeby użytkowników ale też programistów, którzy z nimi pracują.
Contributor Day - WordCamp Lublin 2017 - przegląd motywówTomasz Dziuda
Zbiór porad i informacji dla osób chcących zajmować się przeglądem motywów kandydujących do pojawienia się na oficjalnym repozytorium WordPress.org. Przygotowany z myślą o uczestnikach Contributor Day
Wielomilonowy ruch na wordpressie wordpress wordcamp gdynia 2016Lukasz Wilczak
W powszechnej opinii WordPress nie jest używany do tworzenia serwisów o dużym natężeniu ruchu. Jednak przy odpowiednim zapleczu i konfiguracji możemy korzystać z jego możliwości i nie martwić się o wydajność. Z prezentacji dowiesz się, jak w Grand Parade tworzymy serwisy i przygotowujemy pod nie infrastrukturę dla blogów o dużym natężeniu ruchu i tematyce bettingowej takich jak: news.bwin.com, articles.matchbook.com, news.ladbrokes.com czy sunbets.cu.uk.
Omówimy mechanizmy cache-ujące takie jak Varnish, Redis, infrastrukturę CloudFront i S3 Amazona, sposoby skalowania środowisk z użyciem Load Balancera.
Prezentacja z webinaru: https://www.youtube.com/watch?v=K_zRugiNpGY
Poruszane tematy:
- Audyty wydajności stron w raportach SEO - dlaczego większość robi to źle?
- Co mówią nam komponenty LCP
- Czym jest interfejs Speculation Rules i jak wpływa na TTFB, LCP i CLS?
- Przykłady systemów RUM
- Proces optymalizacji wydajności interakcji
- Przykłady optymalizacji interakcji względem wskaźnika INP (zoptymalizujemy Cookie Consent Banner, analitykę uruchamianą przez Google Tag Manager, długo wykonujące się zadania przez Javascript i wiele innych)
Budowa RESTowego api w oparciu o HATEOAS
@braincodemobi2014
EN: https://blog.allegrogroup.com/it/braincode-mobi1-mobile-people-move-your-brains
PL: https://blog.allegrogroup.com/it/braincode-mobi1-mobilni-ruszcie-mozgi
http://info.put.poznan.pl/2013/12/16/2004
v1.1
Allegro.pl
Najlepsze wtyczki WordPress, które każdy developer powinien miećMaciej Swoboda
Subiektywny przegląd najlepszych wtyczek niezbędnych dla każdego developera WordPressa. Wtyczki, z których zawsze korzystam tworząc strony dla klientów. Na liście znajdują się takie oczywistości jak ACF, ale też być może mniej oczywiste jak Stop Emails czy User Switching.
Spojrzenie długoletniego użytkownika WordPressa, który stworzył dziesiątki stron dla klientów. Ale nie jest to spojrzenie typowego programisty, którym nigdy nie byłem. Praktycznie i zdroworozsądkowo.
Nowości w WooCommerce i plany rozwoju na 2016Maciej Swoboda
Nowości w WooCommerce 2.5: WooCommerce CLI, optymalizacja szybkości, nowe zarządzanie sesjami, zmiany w ekranach podatków i e-maili w panelu admina, zmiany w procesie zakupowym - koszyk i zamówienie.
Plany WooCommerce w kontekście dużych sklepów oraz strefy wysyłki dostępne już w wersji 2.6.
Plany WP Desk na kolejne wtyczki: Allegro, Paczka w Ruchu i Flexible Pricing.
Webinar: 5 Tricks for WordPress web administratorsTomasz Dziuda
This document provides 5 tricks for WordPress web administrators. It discusses limiting user permissions, using activity logs, must-use plugins, customizing the dashboard UI, and optimizing workflows. Some key tips include using plugins to limit user permissions, enable activity logs, adjust dashboard colors and menus, and automate backups and updates. It recommends using custom CSS or child themes cautiously and considering alternatives to major version updates.
Prezentacja o tym jak utrzymać się na powierzchni w szybko rozwijającym się świecie technologii webowych. Zbiór porad, które mogą się przydać nie tylko webdeveloperom.
17. GET / HEAD - odczyt istniejącego elementu
POST - tworzenie nowego elementu
PUT / PATCH - edycja elementu
DELETE - usunięcie elementu
18. GET / HEAD - odczyt istniejącego elementu
POST - tworzenie nowego elementu
PUT / PATCH - edycja elementu
DELETE - usunięcie elementu
19. GET / HEAD - odczyt istniejącego elementu
POST - tworzenie nowego elementu
PUT / PATCH - edycja elementu
DELETE - usunięcie elementu
20. GET / HEAD - odczyt istniejącego elementu
POST - tworzenie nowego elementu
PUT / PATCH - edycja elementu
DELETE - usunięcie elementu
21. GET / HEAD - odczyt istniejącego elementu
POST - tworzenie nowego elementu
PUT / PATCH - edycja elementu
DELETE - usunięcie elementu
Wymagają zawsze autoryzacji
Wymagają CZASAMI autoryzacji
30. Cookie Auth
• Standardowa metoda autoryzacji dla wtyczek i
motywów
• Wymaga przesłania w zapytaniu AJAX-owym
dodatkowego nagłówka X-WP-Nonce
http://wp-api.org/guides/authentication.html#cookie-authentication
31. Cookie Auth
• Standardowa metoda autoryzacji dla wtyczek i
motywów
• Wymaga przesłania w zapytaniu AJAX-owym
dodatkowego nagłówka X-WP-Nonce
http://wp-api.org/guides/authentication.html#cookie-authentication
32. OAuth
• Dla aplikacji zewnętrznych - webowych, mobilnych,
desktopowych
• Wymaga dodatkowego pluginu - OAuth Server
https://github.com/WP-API/OAuth1
• Wsparcie tylko dla OAuth 1.*
• Niestety obecnie nie ma UI do zarządzania
kluczami
33. OAuth
• Dla aplikacji zewnętrznych - webowych, mobilnych,
desktopowych
• Wymaga dodatkowego pluginu - OAuth Server
https://github.com/WP-API/OAuth1
• Wsparcie tylko dla OAuth 1.*
• Niestety obecnie nie ma UI do zarządzania
kluczami
34. OAuth
• Dla aplikacji zewnętrznych - webowych, mobilnych,
desktopowych
• Wymaga dodatkowego pluginu - OAuth Server
https://github.com/WP-API/OAuth1
• Wsparcie tylko dla OAuth 1.*
• Niestety obecnie nie ma UI do zarządzania
kluczami
35. OAuth
• Dla aplikacji zewnętrznych - webowych, mobilnych,
desktopowych
• Wymaga dodatkowego pluginu - OAuth Server
https://github.com/WP-API/OAuth1
• Wsparcie tylko dla OAuth 1.*
• Niestety obecnie nie ma UI do zarządzania
kluczami
36. Basic Auth
• Tylko do środowisk testowych, istnieje duże ryzyko
wycieku hasła wskutek braku szyfrowania
• Wymaga dodatkowej wtyczki: Basic Auth
https://github.com/WP-API/Basic-Auth
37. Basic Auth
• Tylko do środowisk testowych, istnieje duże ryzyko
wycieku hasła wskutek braku szyfrowania
• Wymaga dodatkowej wtyczki: Basic Auth
https://github.com/WP-API/Basic-Auth
38. Własne metody
• Wymagają implementacji z użyciem filtra
json_authentication_errors
https://apppresser.com/custom-wp-api-authentication/
• Można zaimplementować np. JSON Web Tokens
http://jwt.io/
39. Własne metody
• Wymagają implementacji z użyciem filtra
json_authentication_errors
https://apppresser.com/custom-wp-api-authentication/
• Można zaimplementować np. JSON Web Tokens
http://jwt.io/
65. Moje dwa ulubione filtry:
• json_insert_post - pozwala pozmieniać dane
przed dodaniem do bazy
• json_prepare_post - może zastąpić własne end-
pointy
66. Moje dwa ulubione filtry:
• json_insert_post - pozwala pozmieniać dane
przed dodaniem do bazy
• json_prepare_post - może zastąpić własne end-
pointy
67. Moje dwa ulubione filtry:
• json_insert_post - pozwala pozmieniać dane
przed dodaniem do bazy
• json_prepare_post - może zastąpić własne end-
pointy
99. Inne
• Google Maps API - bo musimy mieć jakieś mapy ;)
https://developers.google.com/maps/documentation/javascript/tutorial
• LocalStorage - do przechowywania filtrów
• History API - aby mieć dostęp poprzez URL do
konkretnych miejsc
• Snazzy maps
https://snazzymaps.com/
• Travel icon set
http://www.smashingmagazine.com/2014/12/23/freebie-tourism-travel-icon-set-100-icons-png-svg/
100. Inne
• Google Maps API - bo musimy mieć jakieś mapy ;)
https://developers.google.com/maps/documentation/javascript/tutorial
• LocalStorage - do przechowywania filtrów
• History API - aby mieć dostęp poprzez URL do
konkretnych miejsc
• Snazzy maps
https://snazzymaps.com/
• Travel icon set
http://www.smashingmagazine.com/2014/12/23/freebie-tourism-travel-icon-set-100-icons-png-svg/
101. Inne
• Google Maps API - bo musimy mieć jakieś mapy ;)
https://developers.google.com/maps/documentation/javascript/tutorial
• LocalStorage - do przechowywania filtrów
• History API - aby mieć dostęp poprzez URL do
konkretnych miejsc
• Snazzy maps
https://snazzymaps.com/
• Travel icon set
http://www.smashingmagazine.com/2014/12/23/freebie-tourism-travel-icon-set-100-icons-png-svg/
102. Inne
• Google Maps API - bo musimy mieć jakieś mapy ;)
https://developers.google.com/maps/documentation/javascript/tutorial
• LocalStorage - do przechowywania filtrów
• History API - aby mieć dostęp poprzez URL do
konkretnych miejsc
• Snazzy maps
https://snazzymaps.com/
• Travel icon set
http://www.smashingmagazine.com/2014/12/23/freebie-tourism-travel-icon-set-100-icons-png-svg/
103. Inne
• Google Maps API - bo musimy mieć jakieś mapy ;)
https://developers.google.com/maps/documentation/javascript/tutorial
• LocalStorage - do przechowywania filtrów
• History API - aby mieć dostęp poprzez URL do
konkretnych miejsc
• Snazzy maps
https://snazzymaps.com/
• Travel icon set
http://www.smashingmagazine.com/2014/12/23/freebie-tourism-travel-icon-set-100-icons-png-svg/
108. Wprowadzanie pozycji
elementów na mapie
Advanced Custom Fields
https://wordpress.org/plugins/advanced-custom-fields/
Warto pamiętać o zdefiniowaniu pól w motywie
http://www.advancedcustomfields.com/resources/local-json/
149. Dla większej liczby
markerów
• Utworzenie własnych end-pointów do serwowania
danych markerów:
• ID,
• Dane geolokalizacyjne
• Kategoria
• Reszta danych wczytywana po kliknięciu popupa
poprzez wp-json/posts/<id>
150. Dla większej liczby
markerów
• Utworzenie własnych end-pointów do serwowania
danych markerów:
• ID,
• Dane geolokalizacyjne
• Kategoria
• Reszta danych wczytywana po kliknięciu popupa
poprzez wp-json/posts/<id>
151. Dla większej liczby
markerów
• Utworzenie własnych end-pointów do serwowania
danych markerów:
• ID,
• Dane geolokalizacyjne
• Kategoria
• Reszta danych wczytywana po kliknięciu popupa
poprzez wp-json/posts/<id>
152. Gdy mamy bardzo dużo
markerów
• Wczytywanie markerów zależnie od widocznego
obszaru mapy
• Przygotowanie end-pointu, który na bazie zakresu
szerokości i długości geograficznej zwróci listę
markerów na danym obszarze
153. Gdy mamy bardzo dużo
markerów
• Wczytywanie markerów zależnie od widocznego
obszaru mapy
• Przygotowanie end-pointu, który na bazie zakresu
szerokości i długości geograficznej zwróci listę
markerów na danym obszarze
155. • Znam dobrze WordPressowy kokpit…
• … umiem go modyfikować do swoich potrzeb …
• … i zaoszczędzić sobie sporo czasu poprzez
wykorzystanie gotowych wtyczek …
• … dzięki WP-API mogę ten kokpit połączyć na
front-endzie z czymkolwiek zechcę :-)
156. • Znam dobrze WordPressowy kokpit…
• … umiem go dostosować do swoich potrzeb …
• … i zaoszczędzić sobie sporo czasu poprzez
wykorzystanie gotowych wtyczek …
• … dzięki WP-API mogę ten kokpit połączyć na
front-endzie z czymkolwiek zechcę :-)
157. • Znam dobrze WordPressowy kokpit…
• … umiem go dostosować do swoich potrzeb …
• … i zaoszczędzić sobie sporo czasu poprzez
wykorzystanie gotowych wtyczek …
• … dzięki WP-API mogę ten kokpit połączyć na
front-endzie z czymkolwiek zechcę :-)
158. • Znam dobrze WordPressowy kokpit…
• … umiem go dostosować do swoich potrzeb …
• … i zaoszczędzić sobie sporo czasu poprzez
wykorzystanie gotowych wtyczek …
• … dzięki WP-API mogę ten kokpit połączyć na
front-endzie z czymkolwiek zechcę :-)