Gdzie sprawy stają się nieco techniczne: jak stworzyliśmy naszą wersję mapowania shortcode’ów

Autor:

w

,

How-We-Made-Our-Version-Of-Shortcode-Mapping-Happen-2W poprzednim artykule omówiliśmy podstawy mapowania shortcode’ów oraz to, jak można skorzystać z jego wspaniałych zalet. Zdecydowaliśmy się podzielić artykuł przedstawiający wersję mapowania shortcode’ów w Page Builder Sandwich, ponieważ poniższy tekst może stać się nieco bardziej techniczny.

Poniżej znajdują się bardziej szczegółowe opisy wewnętrznego działania naszej funkcji mapowania shortcode’ów oraz tego, jak udało nam się ją uruchomić.

Zautomatyzowany proces

Aby zdecydować, które wtyczki uwzględnić w mapperze shortcode’ów, stworzyliśmy automatyczny skrypt, który gromadzi najpopularniejsze wtyczki z katalogu wtyczek WordPress w oparciu o następujące kryteria:

  • Wśród 1000 popularnych, najwyżej ocenianych i aktualizowanych wtyczek, z co najmniej 4000 aktywnych instalacji,
  • Z co najmniej 4000 aktywnych instalacji,
  • Z co najmniej 20 ocenami oraz;
  • Ze średnią oceną co najmniej 3 gwiazdek

Uruchamiamy to zapytanie codziennie w katalogu wtyczek WordPress. Filtry te zapewniają, że otrzymujemy listę dobrej jakości wtyczek, z których korzysta wielu użytkowników. W momencie pisania tego tekstu kryteria te spełniało 800 wtyczek. To naprawdę dużo. Naprawdę bardzo dużo.

Some of the most popular plugins detected for shortcode mapping.
Niektóre z najpopularniejszych wtyczek wykrytych do mapowania shortcode’ów.

Następnie przeprowadzamy serię automatycznych testów kodu źródłowego każdej wtyczki, aby sprawdzić, czy zawiera jakiekolwiek shortcode’y, a następnie próbujemy odnaleźć wszystkie te shortcode’y wraz ze wszystkimi ich atrybutami. Przetworzenie danych dało w efekcie ponad 2000 shortcode’ów. Podwójne wow. Wykryte shortcode’y są następnie wprowadzane do bazy danych mapowania shortcode’ów w celu ręcznej weryfikacji.

Pod koniec tego procesu otrzymujemy ogromną listę wtyczek oraz ich potencjalnych shortcode’ów. Teraz pozostaje kwestia uporządkowania tych danych, aby upewnić się, że wszystko jest poprawne.

Ręczny proces

To prawdopodobnie najtrudniejsza część całego systemu mapowania. Kod wtyczek przybiera różne formy i rozmiary, a nie wszystkie shortcode’y są automatycznie wykrywane przez nasze skrypty. Mimo że WordPress Codex zaleca używanie funkcji `shortcode_atts` do filtrowania atrybutów shortcode’a, jest to jedynie zalecenie i nie każdy się do niego stosuje. Nie ma też niezawodnego sposobu na sprawdzenie wnętrza shortcode’a po zainstalowaniu wtyczki.

Aby więc upewnić się, że poprawnie pobieramy wszystkie shortcode’y i ich atrybuty, stworzyliśmy sekcję front-endową dedykowaną do edycji shortcode’ów oraz atrybutów, zbudowaną przy użyciu AngularJS i Bootstrapa.

Bootstrap & AngularJS interface for fixing up all the mapped shortcodes.
Interfejs Bootstrap & AngularJS do poprawiania wszystkich zmapowanych shortcode’ów.

Musimy ręcznie przejrzeć każdą wtyczkę, sprawdzić jej dokumentację shortcode’ów i upewnić się, że wszystkie posiadane przez nas dane są poprawne.

Chociaż jest to żmudne i uciążliwe, posiadanie zautomatyzowanego procesu ma swoje jasne strony:

  • Według naszych wczesnych statystyk tylko około 1 na 2 wtyczki posiada shortcode’y.
  • Połowa wykrytych shortcode’ów nie ma żadnych atrybutów (choć część z nich może być fałszywymi trafieniami)
  • Dzięki wybieraniu tylko wtyczek dobrej jakości, z dużym prawdopodobieństwem posiadają one dokumentację shortcode’ów

Dopiero gdy wszystkie shortcode’y danej wtyczki zostaną sprawdzone, serwer rozpocznie dystrybucję mapowań shortcode’ów tej wtyczki do użytkowników.

Wywołanie REST API

Ostatnim elementem układanki jest sama wtyczka. Koncepcja jest prosta: ustalić, jakie wtyczki są aktywne, z jakiego motywu korzysta witryna i jakie shortcode’y są dostępne, a następnie zapytać bazę danych mapowania shortcode’ów, czy posiada dla nich mapowania. W tym celu stworzyliśmy niestandardowy punkt końcowy WP REST API, który wszyscy klienci odpytują, aby pobrać najnowsze mapowania shortcode’ów.

Przyszłość: Crowdsourcing

Ręczne sprawdzanie każdej wtyczki wymaga mnóstwa czasu i wysiłku. Gdy platforma mapowania shortcode’ów będzie stabilna, planujemy udostępnić mapowanie shortcode’ów dla każdego. Oznacza to, że każdy będzie mógł pomóc w dodawaniu shortcode’ów.

Możesz pomyśleć: „dlaczego miałbym pomagać w mapowaniu shortcode’ów? Co z tego będę mieć?”. Otóż przychodzi na myśl kilka powodów, dla których warto pomóc:

  1. Jeśli stworzyłeś wtyczkę, a my jeszcze jej nie wychwyciliśmy ze względu na powyższe kryteria (i znajduje się ona w katalogu wtyczek WordPress), możesz samodzielnie dodać mapowania. Twoja wtyczka zyska pełne wsparcie w PBS!
  2. Ponieważ w procesie automatycznym zajmujemy się tylko wtyczkami z katalogu WordPress, twórcy wtyczek i motywów premium nie zostaną uwzględnieni. Jeśli więc taki posiadasz, możesz również dodać swoje mapowania shortcode’ów dla nich.
  3. A dla osób, które nie tworzą wtyczek – możemy nagrodzić tych, którzy pomagają. Aby mapowanie shortcode’ów było kuszącym przedsięwzięciem, możemy nagradzać chętnych pomocników licencją osobistą lub uaktualnieniem do licencji premium PBS!

Zapisz się do naszego newslettera

Funkcjonalność mapowania shortcode’ów zostanie udostępniona naszym klientom wstępnie 12 sierpnia  15 sierpnia  16 sierpnia 2016 r. Do tego czasu nie wszystkie shortcode’y zostaną zmapowane (szacujemy, że może około 100 wtyczek), ale mapowanie będzie prowadzone na bieżąco, a klienci otrzymają je, gdy tylko pojawią się nowe.

Zapisz się do naszego newslettera, aby otrzymywać wiadomości na temat mapowania shortcode’ów, daty jego premiery oraz otwarcia mapowania shortcode’ów dla społeczności!