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.

Ekran personalizacji motywu wymagany dla nowych motywów na WordPress.org

Jeżeli posiadacie jakieś motywy na oficjalnym repozytorium lub zamierzacie je tam opublikować to musicie zrezygnować z dedykowanych stron z opcjami motywu. Od teraz jedyną formą konfiguracji nowych motywów ma być ekran personalizacji. W wypadku istniejących motywów autorzy mają 6 miesięcy na dostosowanie się do nowych wymogów – po 21 października aktualizacje motywów z własnymi stronami z konfiguracją nie przejdą przeglądu.

Nie ukrywam, że cieszy mnie ta zmiana, bo zakończy ona powstawanie własnych paneli z opcjami motywu, które często z dobrym UX mają niewiele wspólnego.

Jeżeli do tej pory nie mieliście styczności z ekranem personalizacji to zapraszam do lektury moich wpisów na ten temat oraz przejrzenie moich prezentacji na slideshare – powinny Wam umożliwić w miarę proste wzdrożenie się w ten temat.

 

 

Poboczne projekty, które cieszą i uczą

Osobiście jestem zdania, że posiadanie jako programista pobocznych projektów jest gwarantem zdrowia psychicznego i samorozwoju – cech w tym zawodzie mocno pożądanych. Mam w pracy i poza nią kilka takich projektów i każdy z nich sporo mnie nauczył. Wynika to z kilku bardzo prostych przyczyn:

  • Projekty poboczne z reguły nie mają deadline’ów, zatem nie musimy wszystkiego robić tak żeby znaleźć złoty środek pomiędzy jakością i czasem wykonania,
  • Można mocno eksperymentować z rzeczami, których normalnie nie stosujemy w komercyjnych projektach,
  • Ich głównym celem jest (przynajmniej u mnie) walor edukacyjny. Satysfakcja i możliwość zamiany projektu w coś większego to bonus, który czasami występuje, ale nie jest celem w samym sobie.

Wzięło mnie na takie małe przemyślenia, bo wczoraj skończyłem wersję 1.4 naszego darmowego motywu GK Portfolio – lada dzień pojawi się ona na repozytorium motywów (niecierpliwi mogą pobrać ją z repozytorium już dziś) – to był jeden z takich pobocznych projektów, który na przestrzeni pół roku całkiem ładnie się rozrósł przy niewielkim nakładzie pracy – aktualizacje były robione w wolnej chwili, użytkownicy dali bardzo ciekawy feedback.

Z bardzo prostego motywu powstał dość złożony projekt, który jest wykorzystywany i doceniany przez coraz szersze grono użytkowników WordPressa.

I jest to projekt, który ma przed sobą ciekawą przyszłość – mam długą listę kolejnych usprawnień i udoskonaleń do zrobienia 🙂