Moje prezentacje z WordCamp Lublin 2017

Kolejny udany polski WordCamp za nami 🙂 W tym roku przygotowałem dwie prezentacje – jedną z myślą o odbywającym się w piątek Contributor Day, a drugą na pierwszy dzień konferencji.

Na Contributor Day udało nam się przejrzeć 14 motywów – dla tych, którzy nie mogli się pojawić zamieszczam moją prezentację, która krótko opisuje jak przeglądać motywy oraz na jakie aspekty zwracać uwagę – sporządziłem ją na bazie oficjalnych wytycznych oraz przeglądu informacji od zespołu Theme Review, które pojawiają się na ich oficjalnym blogu:

W tym roku na WordCampie powróciłem do bardziej technicznych tematów i przygotowałem prezentację o tym na co warto zwrócić uwagę tworząc desktopową aplikację w Electronie korzystającą z WordPressowego REST API:

Sam kod (aplikacji oraz wtyczki) można znaleźć na Githubie.

Jeśli chodzi o same wrażenia i przemyślenia po konferencji to spodziewajcie się ich niebawem 🙂

Baza gotowych WordPressowych komponentów od 10up

Firma 10up udostępniła gotowe komponenty dla WordPressa których kod jest dostosowany dla osób niepełnosprawnych, ma osadzone metadane i jest responsywny.

Jest to dobra baza dla osób, które chciałyby zaimplementować pewne elementy w motywie/wtyczce ale nie wiedzą od czego zacząć.

Oczywiście komponenty te wymagają dostylowania 🙂

 

Modyfikacja kodu wynikowego w shortcode [gallery]

WordPress umożliwia nam stworzenie własnego kodu wynikowego shortcode gallery poprzez filtr post_gallery. Niestety filtr ten jest umieszczony przed właściwym kodem generującym galerię, zatem najcześciej proponowanym rozwiązaniem jest stworzenie własnej funkcji obsługi tego shortcode i wykorzystanie atrybutów, które otrzymujemy jako argument funkcji filtrującej. Takie rozwiązanie ma pewne wady:

  • musimy pilnować ewentualnych zmian w kodzie WordPressa aby zapewnić pełną kompatybilność,
  • w wypadku gdy chcemy tylko dodać jakieś atrybuty do zdjęć to rozwiązanie wydaje się być mocno na wyrost,
  • trzeba wygenerować sporo kodu, który często duplikuje to co już robi WordPress.

Czytaj dalej Modyfikacja kodu wynikowego w shortcode

Szybkie generowanie plików tłumaczeń dzięki Gulp i gulp-wp-pot

Tworząc wtyczki i motywy dla szerszego grona użytkowników warto zadbać o dostarczenie pliku POT, który może być wykorzystany do generowania plików językowych naszego rozszerzenia.

Z racji tego, że używam Gulpa do automatyzacji zadań takich jak minifikacja plików, generowanie plików źródłowych czy komplikacja SASS, to nie mogło też zabraknąć w moim zestawie narzędzia do automatycznego generowania plików POT – gulp-wp-pot.

Z racji tego, że pliki POT generuje się zwykle pod koniec prac nad konkretnym wydaniem rozszerzenia to sugeruję utworzenie oddzielnego zadania, które będzie uruchamiane tylko przy okazji zadania wykonującego operacje przygotowania paczki do wydania.

Szybki sposób na optymalizację motywu poprzez zrezygnowanie z post_class()

Krótki artykuł Taylora Lovetta o tym dlaczego post_class() i get_post_class() mogą negatywnie wpływać na wydajność WordPressa

W skrócie – funkcja post_class() może wygenerować nawet do kilkunastu zapytań SQL (zależnie od liczby taksonomii), które służą tylko i wyłącznie dodaniu kilku klas CSS, które najczęściej nie są w ogóle używane.

Zmiany w tagach repozytorium motywów WordPressa

Wraz z nową wersją WordPressa można spodziewać się zmian w nazwach tagów motywów, wykorzystywanych do filtrowania motywów na oficjalnym repozytorium.

Znikną wszystkie tagi odnoszące się do kolorów oraz kilka tagów związanych z układem i funkcjami motywu.

W zamian pojawi się sporo nowych tagów związanych z tematyką motywów np. portfolio, blog, news.

Szablony w JavaScript z użyciem wp.template

Generowanie dużych ilości kodu HTML w JavaScript jest uciążliwe bez odpowiednich narzędzi. JavaScript dopiero niedawno wzbogacił się dzięki standardowi ES2015 (ES6) o wsparcie wielolinijkowych ciągów znaków. Jeżeli chcemy wspierać starsze przeglądarki to musimy skorzystać z innych rozwiązań. Handlebars czy Mustache wyglądają kusząco, ale warto pamiętać, że WordPress posiada już własny mechanizm szablonów dla JavaScript dostępny dzięki funkcji wp.template.

Jest to silnik szablonów wykorzystywany w bibliotece Underscore.js z własną składnią podobną do tej znanej z Mustache by uniknąć konfliktów z niektórymi konfiguracjami PHP. W tym wpisie przyjrzymy mu się bliżej 🙂 Czytaj dalej Szablony w JavaScript z użyciem wp.template

Jakie zmiany czekają ekran personalizacji motywu w WordPressie 4.3?

Weston Ruter opisał najważniejsze propozycje zmian dla ekranu personalizacji motywu w kolejnym wydaniu WordPressa. Sugerowane zmiany to:

  1. Wsparcie dla częściowego odświeżania motywu w podglądzie
  2. Transakcje dla ustawień – dzięki ich wprowadzeniu stanie się możliwe tworzenie np. Ustawień oczekujących na wprowadzenie, tworzenie konfiguracji automatycznie włączających się w konkretnym momencie oraz oczywiście możliwość przywracania starych konfiguracji
  3. Dodanie ochrony przed nadpisywaniem ustawień przez różnych użytkowników pracujących w tym samym czasie w ekranie personalizacji motywu

Dodatkowo istnieje propozycja implementacji zmian w zachowaniu się interfejsu ekranu personalizacji, która usuwa efekt rozwijanych bloków na rzecz przewijania znanego z paneli.

Kolejna ciekawa moim zdaniem propozycja zmian to ikony dla sekcji – biorąc pod uwagę rosnącą liczbę opcji, bardzo ułatwiłyby one użytkownikom poruszanie się po ustawieniach motywu.

Z kolei wczoraj ukazała się lista priorytetów zadań na bazie rozmów core teamu WordPressa.

Jak widać nie ma transakcji dla ustawień motywów, ale za to pojawił się temat zarządzania menu poprzez ekran personalizacji oraz temat instalacji motywów bezpośrednio w erkanie personalizacji motywu.

Zmiany dla ekranu personalizacji opracowywane z myślą o WordPressie 4.3 można śledzić tutaj.

Ciekawe statystyki oficjalnego repozytorium motywów

Theme Repository Data

Na bazie skryptu pozwalającego pobrać wszystkie dostępne motywy z repozytorium motywów na stronie WordPress.org Devin Price przygotował zestawienie ciekawych informacji na temat obecnie dostępnych motywów.

Według mnie dwie najciekawsze informacje to:

  • fakt, że tylko niecałe 24% motywów wspiera ekran personalizacji motywu – w obliczu ostatnich zmian wymagań oznacza to, że sporo motywów czeka aktualizacja albo porzucenie
  • tylko nieco ponad 4% motywów to darmowe wersje płatnych rozwiązań, aczkolwiek tutaj trzeba brać poprawkę, że najprawdopodobniej nie wszystkie motywy tego typu stosują słowo „lite” w nazwie.