Motywy przyszłości: ramy projektowe i motyw główny
Opublikowany: 2019-11-09Motywy WordPress mają bogatą historię. Przez lata autorzy motywów wprowadzili na platformę mnóstwo funkcji. Częściowo dzieje się tak dlatego, że często musieli rozwiązywać podstawowe problemy z WordPressem, aby stworzyć funkcje, których chcą użytkownicy końcowi.
Klasy postów i treści, których używają dzisiaj wszyscy autorzy motywów? Były one pierwotnie w motywie o nazwie Sandbox.
Polecane obrazy? Zostały one spopularyzowane przez tematykę czasopism dziesięć lat temu.
Myślisz, że formaty postów pochodzą z Tumblra? Matt Mullenweg, współtwórca WordPressa, nauczył nas, jak tworzyć posty na bok w naszych motywach w 2004 roku, ale istniały one wcześniej.
Funkcje WordPressa często mają swój początek w świecie motywów. Czasami przyjmujemy za pewnik lata eksperymentów i iteracji pomysłów, w które autorzy tematów wprowadzają w swoich pracach. Nawet edytor bloków obsługuje elementy, które tradycyjnie należały do dziedziny projektowania motywów. Dobrym przykładem jest blok okładki. Przez lata autorzy motywów tworzyli opcje motywów dla podstawowego obrazu bohatera z nałożonym tekstem i przyciskami. Wynik był często niezgrabny i nie idealny dla użytkowników. Wprowadzając tę funkcję do rdzenia, użytkownicy mogli umieścić ten blok zakrywający w dowolnym dozwolonym obszarze bloku.
Powodem, dla którego wiele funkcji motywu jest rdzeniem, jest to, że po prostu działają lepiej, gdy są ustandaryzowane. Użytkownicy wiedzą, czego się spodziewać, a autorzy motywów mogą skupić się na aspekcie projektowym, a nie na rozwiązywaniu problemu z doświadczeniem użytkownika.
Częścią problemu z przeszłości było to, że każda nowa funkcja zastosowana w rdzeniu nie była zgodna z żadnym standardowym wzorcem projektowym lub schematem nazewnictwa. Ogromną umiejętnością w projektowaniu motywów WordPress jest zapamiętywanie miszmaszu setek klas.
Edytor bloków jest w wyjątkowej pozycji, aby to zmienić, tworząc uniwersalne ramy projektowe.
Czy WordPress potrzebuje Front-End Design Framework?
Ponieważ w przyszłości pojawią się wzory bloków i w pewnym momencie pełna personalizacja witryny, autorzy motywów zastanawiają się, dokąd płynie ten statek. To ekscytujące, ponieważ możliwości dla użytkowników końcowych są nieograniczone. Jest to przerażające dla autorów tematów, którzy zbudowali swoje imperia na jednym sposobie działania, ale rozwój to bardziej adaptacja niż cokolwiek innego.
Uzbrojeni w wiedzę, że krajobraz się zmienia, jest to moment, w którym autorzy motywów muszą połączyć siły, aby kształtować swoją przyszłość w świecie opartym na blokach.
W jednej z grup programistów, w które jestem zaangażowany, jest trochę żartu, że główni programiści nie są autorami motywów. Z perspektywy autora tematu może się czasem wydawać, że pomysły są przypadkowo rzucane razem, bez myślenia o systemach projektowania CSS.
Och, widzę trochę BEM. Dlaczego ten podelement nie ma tego samego schematu nazewnictwa? Czekać. Czy to 38-znakowa klasa użyteczności?
WordPressowi zawsze brakowało uniwersalnego systemu projektowania front-end. Czasami to była dobra rzecz. Umożliwiło to autorom motywów korzystanie z preferowanych ram. Każdy autor motywów, który jest w grze wystarczająco długo, powie ci, że ten rodzaj elastyczności jest świetny… aż tak nie jest . Czy kiedykolwiek próbowałeś dodawać klasy kontekstowe do widżetów? A co z dodaniem klasy narzędziowej do opakowania formularza komentarza? Będziesz potrzebować aspiryny. Lub dwa.
W przypadku WordPressa niektóre rzeczy są osadzone w kamieniu, a inne można podłączyć. Niektóre funkcje są zgodne ze standardowym schematem nazewnictwa klas, a inne nie mają sensu. Wynikiem dla motywów jest często rozdęty CSS, który ma na celu pogodzenie różnych komponentów.
Prawie niemożliwe jest pełne wykorzystanie struktury klasy użytkowej, takiej jak CSS Tailwind, w motywie bez odtworzenia podstawowych funkcji.
Wiele z tego wynika z wieloletniego gromadzenia się starszego kodu i zaangażowania WordPressa w wsteczną kompatybilność. Ale przyszłość nie musi przypominać przeszłości. Jesteśmy u progu nowej ery, a teraz nadszedł czas, aby projektanci frontend wskoczyli do rozmowy.
WordPress potrzebuje solidnego frameworka do projektowania front-end.
To jest załadowana instrukcja. Jeśli umieścisz 20 projektantów w pokoju i poprosisz ich o omówienie ram projektowych, może to być przepis na rękoczyny. Jestem optymistą i mam nadzieję, że debata przyniesie rezultaty.

Gutenberg popchnął nas częściowo w tym kierunku, ale nie idzie to wystarczająco daleko. W przyszłości, w związku z edycją całej witryny, istnieje potrzeba bardziej holistycznego podejścia do rozwiązania tego problemu.
Przede wszystkim potrzebujemy więcej projektantów front-end w rozmowie. Nie ma możliwości, aby .has-subtle-pale-green-background-color istniała jako klasa narzędziowa ponad czymś takim jak .bg-pale-green , .bg-green-100 , a nawet .background-pale-green , jeśli chcesz być bardziej gadatliwy. Nie było koncepcji optymalizacji, która wpłynęła na tę decyzję. W czasach, gdy programiści korzystają z gigabitowych połączeń internetowych, łatwo jest zapomnieć, że większość świata podąża w wolniejszym tempie.
Schemat nazewnictwa oparty na komponentach ze zdrową dawką klas użytkowych to jedna z opcji, która może trafić w kilka słabych punktów. To nie jest argument za jednym frameworkiem CSS nad innym. Istnieje wiele dobrych, istniejących opcji. WordPress powinien sobie z tym poradzić, zapożyczając się z podstaw opracowanych przez inne projekty i tworząc coś unikalnego dla WordPressa. Powinien być liderem w tej dziedzinie.
Frameworki projektowe dotyczą również wtyczek. Istnieje pewien zwrot w sferze tematów, w której obaj toczą trwającą wojnę od zarania systemu tematów. Pole bitwy między motywami a wtyczkami jest zaśmiecone śmiercią dobrych pomysłów. Zdecydowanie zbyt wielu nigdy nie uzyskało wsparcia, którego potrzebowali, aby wylądować w rdzeniu. Jakiś rodzaj uniwersalnego standardu projektowego mógłby powstrzymać powódź problemów i wezwać do zawieszenia broni.
Wtyczka, która generuje niestandardowy komponent front-endowy, nie ma na przykład możliwości sprawdzenia, w jaki sposób bieżący motyw obsługuje rytm pionowy. Czy używa górnego czy dolnego marginesu? Jaka jest użyta wartość i jednostka? Jest to podstawowa rzecz i prawie zawsze jest zepsuta, gdy wtyczka próbuje dodać niestandardowy CSS, aby sobie z tym poradzić.
WordPress potrzebuje struktury projektowej lub języka, który pozwoli na harmonijne połączenie wszystkich jego ruchomych części na froncie. Jestem pewien, że kiedyś tam dotrzemy. Mam nadzieję, że jest bardziej spójny niż elementy losowe i schematy nazewnictwa z przeszłości. Powinniśmy również mieć jasną mapę drogową, która wypełni niektóre szczegóły techniczne, aby programiści i projektanci mogli być przygotowani.
Czy możliwa jest jednotematyczna przyszłość?
Rich Tabor w swoim artykule Spojrzenie na WordPress Themes of the Future argumentuje, że rdzeń WordPressa może zapewnić pojedynczy motyw nadrzędny. Pomysł polega na tym, że autorzy motywów zostaliby zepchnięci do tworzenia motywu potomnego dla tego „głównego” motywu.
Intuicyjną reakcją dla wielu byłoby to, że to nie zadziała, motywy stracą swoją osobowość i będziemy żyć w świecie projektów foremek do ciastek.
Rzeczywistość jest taka, że zmierzamy w kierunku przyszłości, w której idea samotnego rodzica lub tematu przewodniego jest poważnie rozważana.
Większość motywów to niestandardowe grupy standardowych elementów, które istnieją w prawie wszystkich motywach. Są pewne decyzje, poza kwestiami stylistycznymi, które sprawiają, że tematy różnią się od siebie, takie jak układ nagłówka. Jeden motyw może zawierać tytuł witryny i menu nawigacyjne w jednym bloku. Inny może mieć poniżej menu nawigacyjne, tytuł i drugie menu nawigacyjne. Jeszcze inny motyw może pokazywać pole wyszukiwania. W świecie, w którym pełna personalizacja witryny należy do użytkownika, decyzje te stają się częścią doświadczenia użytkownika, a nie doświadczenia programisty.
Motywy będą musiały wyróżniać się paletami kolorów, typografią i własną marką dziwactwa — powrót czasów CSS Zen Garden, ale na znacznie większą skalę.
Nie będę z tego powodu smutna. Ciekawie byłoby zobaczyć konkurencję między najlepszymi projektantami w tej dziedzinie. Może również przywrócić motywy WordPress do epoki, w której każdy mógł to zrobić przy odrobinie wiedzy i determinacji CSS.
Chociaż nie jesteśmy do końca gotowi na przyszłość, w której jeden motyw rządzi wszystkim, jest to miejsce, w którym można rozpocząć rozmowę. Gdybyśmy zaprojektowali WordPressa z myślą o tej potencjalnej przyszłości, nawet jeśli nigdy nie zaimplementujemy głównego motywu, jak wyglądałaby mapa drogowa? Jakie przeszkody stoją na drodze? Czy to możliwe?
