W tym artykule wypiszę co powinna opanować osoba, która chce się nazywać Programistą WordPress lub WordPress Developerem. Wszyscy wiemy, że system ten można z powodzeniem wykorzystywać nie posiadając zaawansowanej wiedzy technicznej i wnikania w to jak działa. Tworzenie stron w systemie WordPress możemy ograniczyć do wykorzystywania gotowych motywów. Nieco ambitniejsi blogerzy mogą wykorzystywać wtyczki a nawet dodać snippety do pliku functions.php.
Proces tworzenia strony internetowej w taki sposób w ogóle nie przypomina tego jak strony internetowe są tworzone przez WordPress Developerów. Programista WordPress może tworzyć całą stronę internetową samodzielnie, wykonywać zlecenie klienta dotyczące np. konkretnej funkcjonalności lub jako członek mniejszego bądź większego zespołu wspierać proces tworzenia w konkretnym obszarze.
Kim tak naprawdę jest WordPress Developer?
WordPress to system CMS, który oczywiście obsługuje back-end ale dostarcza też prosty system szablonowania. Chcąc nie chcąc, WordPress Developer to tak naprawdę Full-Stack Developer wyspecjalizowany w tym konkretnym środowisku. WordPress jest napisany w PHP czyli idąc tym tropem. Jest to programista, który biegle zna PHP, specjalizuje się na stosie LAMP (Linux, Apache, MySQL, PHP) lub LEMP (Linux NGINX, MySQL, PHP) i zna cały framework WordPressa.
W średnich i dużych projektach może nastąpić specjalizacja na Front-End WordPress Developera i Back-End WordPress Developera. Ten pierwszy czyli Front-End WordPress Developer będzie miał częściej do czynienia z językami front-endowymi czyli kodem HTML, CSS i JavaScript. Back-End WordPress Developer go uzupełnia i będzie miał zazwyczaj do czynienia z PHP, MySQL i kwestiami związanymi z serwerem.
W mniejszych zespołach i w samodzielnej pracy jest się Full-Stack WordPress Developerem. Jest to kombinacja tych dwóch specjalności i jeżeli nie napisano inaczej, samo określenie WordPress Developer określa kogoś kto swobodnie porusza się zarówno w obszarach front-endowych i back-endowych. Fakt ten potwierdzają oczekiwania od kandydatów na to stanowisko jakie możemy przeczytać w ofertach pracy bądź w opisie stanowiska.
Jakich umiejętności się wymaga od programisty WordPress?
Z pomocą przychodzą ogłoszenia o pracę. Jeżeli wyeliminujemy te niedorzeczne, w których wymagamy np. znajomości z obszaru SEM, Photoshopa bądź (całkiem innego systemu) PrestaShop, mamy spójną listę zadań jakie stoją przed programistą WordPress.
1. Znajomość systemu WordPress
No, trzeba przyznać, że brzmi to troszkę zbyt ogólnikowo. Znajomość czyli co konkretnie? Znajomość WordPressa z perspektywy dewelopera to osiem filarów.

Pierwszym filarem jest dokumentacja. Zawiera ona funkcje, haki, klasy i metody, które będą ułatwiać programowanie we frameworku WordPress. Znajomość dokumentacji pozwala wykorzystywać WordPressa zgodnie z przeznaczeniem oraz rozwiązywać problemy w fachowy czyli najmniej kreatywny sposób.
Warto zwrócić uwagę na fakt, że wszelkie materiały dotyczące WordPressa są pisane w języku angielskim. W pracy programisty język angielski to coś tak oczywistego, że nie będę o tym pisał w osobnym punkcie.
Oczywiście, WordPress Developer nie musi znać na pamięć wszystkich funkcji i argumentów jakie przyjmuje. Posługiwanie się nimi szybko wejdzie w nawyk podczas tworzenia kolejnych stron i aplikacji. Programiści często tutaj zaglądają, bo jest to najpewniejsze i najbardziej aktualne źródło wiedzy na temat tworzenia wtyczek i motywów.

Każda funkcja posiada swoją definicję, wraz z opisem jak działa jakie przyjmuje argumenty i co zwraca. Na końcu wpisu znajduje się kilka przykładowych zastosowań danej funkcji w konkretnych przypadkach użycia.
Mimo, że określenie WordPress Developer nie jest ściśle sprecyzowane, do czegoś taka nazwa zobowiązuje i programista WordPress zna i stosuje w praktyce drugi filar czyli standardy kodowania WordPressa.
Trzecim filarem jest Edytor Blokowy. Nie można pominąć tego filaru jeżeli chcemy tworzyć własne bloki od podstaw. Jak wiemy zwykły edytor WYSIWYG został zastąpiony edytorem Gutenberg, który służy do edycji stron i wpisów. Choć w wielu projektach tworzenie własnych bloków nie będzie konieczne, każdy WordPress Developer potrafi stworzyć prosty blok.

API to czwarty filar developmentu w WordPressie. System ten udostępnia szereg interfejsów API i rozwiązań charakterystycznych dla tego ekosystemu. Programista WordPress zna większości z poniżej wymienionych rozwiązań:
- Rewrite API,
- Shortcode API,
- REST API,
- XML-RPC,
- Transients API
- Tworzenie motywów WordPress,
- Settings API – standaryzuje dodawanie półautomatycznych formularzy do panelu administratora,
- Options API – standaryzuje przechowywanie opcji w bazie danych,
- Plugin API – tworzenie własnych wtyczek.
- Metadata API,
- Zmienne globalne (takie jast $post, $posts, $authordata, $page itd..)
- Filesystem API – wyższa warstwa abstrakcji do odczytu i zapisu danych w plikach w różnych środowiskach serwerowych,
- i18n oraz l10n – zbiór przydatnych funkcji i wytycznych służących do internacjonalizacji i lokalizowania WordPressa.
- Dashboard Widgets API,
- Responsive Images,
- Database API – ułatwia odczyt, zapis i aktualizację w bazie danych.
Piątym filarem są motywy WordPress. Umiejętność tworzenia motywów pozwala tworzyć front-end stron internetowych, przyspieszać budowanie spersonalizowanych szablonów a także modyfikować i optymalizować obecne.
Szóstym filarem są wtyczki WordPress, które rozszerzają funkcjonalność WordPressa, modyfikują standardowe jego działanie bądź optymalizują i automatyzują wykonywanie niektórych czynności. WordPress Developer potrafi nie tylko tworzyć własne wtyczki ale zna popularne wtyczki stworzone przez społeczność. Jedną z takich wtyczek jest WooCommerce, która dodaje do WordPressa funkcjonalność prostego ale rozszerzalnego systemu sklepowego.
Siódmy filar to REST API, który pozwoli na łatwe integrowanie systemu WordPressa z innymi aplikacjami.
Ósmy filar to WP-CLI czyli narzędzie przyspieszające administrację i prace serwisowe wprost z linii komend.
2. PHP
Aby móc wejść w te wszystkie tematy, trzeba opanować język PHP na poziomie podstawowym lub średniozaawansowanym. Nie trzeba znać innych frameworków niż WordPress. Aby stosunkowo łatwo poruszać się po środowisku WP należałoby panować zarówno teoretyczny jak i praktyczny aspekt:
- podstaw PHP (pętle, funkcje, argumenty, operacje na ciągach znaków),
- programowania obiektowego PHP (klasa, metoda, dziedziczenie),
Mile widziana będzie znajomość:
- Rozszerzenia PHP DOM,
- Założeń architektury REST,
- systemu Git jeżeli będziemy pracować w zespole.
3. MySQL, podstawy baz danych i język SQL
W pracy WordPress developera możemy się spotkać z potrzebą wykonania złożonych kwerend. Tutaj przydadzą się podstawy języka SQL czyli standardowe polecenia SELECT i JOIN oraz tworzenie użytkowników i prace konserwacyjne w przypadku konieczności wykonania prac administracyjnych.
4. JavaScript
Przy tworzeniu motywów lub dodawaniu własnych funkcjonalności do front-endu, potrzebna będzie znajomość JavaScript. W momencie pisania tego artykułu, standardowym wyposażeniem WordPressa jest jeszcze biblioteka jQuery. Warto poznać też Vanilla JS ponieważ pojawiają się próby wyeliminowania jQuery w najbliższych aktualizacjach a samo programowanie JavaScript jest przydatne podczas tworzenia bloków. Chcesz postawić pierwsze kroki w JavaScript? Sprawdź: Kurs JavaScript od podstaw.
5. HTML i CSS
Ten punkt to formalność w przypadku zajmowania się warstwą front-endową. HTML pozwala tworzyć szkielety stron internetowych a CSS pozwala dostosowywać jego wygląd za pomocą szeregu instrukcji.
6. Hosting i serwer
WordPress to aplikacja działającą na stosie LAMP. Dlatego WordPress developer nie powinien mieć problemów z takimi zagadnieniami:
- Jak uruchomić LAMP na serwerze Linux,
- instalacja rozszerzeń PHP i modułów do Apache,
- DNS (Strefy DNS),
- Certbot,
- wymagania i zalecenia dla hostingu WordPress według WordPress.org,
- świadomość ograniczeń współdzielonego hostingu wirtualnego.
7. SEO
Dla wielu posiadaczy stron obszar SEO i wysoki stopień zoptymalizowania pod SEO to priorytet w przypadku tworzenia nowej strony bądź dużego portalu. Wiele istotnych decyzji z perspektywy SEO zapada w momencie programowania. Programista WordPress zna podstawowe założenia SEO oraz wie jak zastosować rekomendacje dotyczące tej warstwy projektu.
8. Serwis, bezpieczeństwo i dobre praktyki
Dobre praktyki przyspieszają pracę oraz chronią nas przed rozwiązywaniem banalnych problemów. O tym jak ważna jest konieczność tworzenia kopii zapasowych, jak dobierać hosting WordPress i ile czasu zaoszczędza WP-CLI to rzeczy, których nie wyczytamy z dokumentacji.
W przypadku złożonych aplikacji jaką niewątpliwie jest tytułowy CMS, ważne stają się kwestie bezpieczeństwa. Czytaj więcej na ten temat w artykule: Jak zabezpieczyć stronę WordPress?. Dobre praktyki to także zbiór zasad dotyczących tego czego nie powinno się robić. Modyfikacje rdzennych funkcji WordPressa, blokowanie aktualizacji czy wykorzystywanie szkodliwych wtyczek to niestety częsta praktyka wśród użytkowników WordPressa.
Podsumowanie
W tym artykule wyjaśniliśmy kim jest a kim nie jest WordPress Developer. Jest to web developer, który potrafi programować i tworzyć projekty w środowisku WordPressa. Niezależnie czy specjalizuje się w obszarach front-endowych czy back-endowych zna dokumentacje, standardy kodowania i API dostępne w tym środowisku.
Odpowiedz lub skomentuj