Dług technologiczny w praktyce – motywy

Ostatnio jednej z klientek napisałem spory elaborat na temat tego jak zakup gotowego motywu powoduje niespodziewane koszta. Ponieważ ten przypadek idealnie obrazuje czym jest dług technologiczny w praktyce – przyjrzyjmy mu się bliżej.

Czytaj dalej Dług technologiczny w praktyce – motywy

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.