 Za co tego WordPressa tak naprawdę lubię? Dla mnie osobiście WordPress nie jest tylko CMS-em, czy blogiem, czy jakąś do tworzenia stron internetowych, ale pokusiłbym się o stwierdzenie, że dla mnie on jest frameworkiem do budowania aplikacji webowych. Czy jego możliwości, które daje te wszystkie funkcje wbudowane w niego, lub ewentualnie z dorzuceniem jakieś wtyczki, powodują, że jest bardzo elastyczne i tak naprawdę w dużej mierze ogranicza nas wyobraźnię do czego możemy go użyć. Powiem szczerze, że zanim, jak zacząłem się pojawiać na tego typu imprezach, na wcześniej na WordPressa czy WordPressa, cały czas chciałem pokazać właśnie to, co mi się podobało w presie te wszystkie jego elementy, ale nie miałem zbyt ciekawego tematu. Inspiracja nadeszła tak naprawdę w tym roku dopiero i tak pomyślałem, że to, że WorldCamp 2018 i WorldCamp 2018 to nie jest do końca takie przypadkowe, więc przejdźmy do dalej. WordPress to tak pokrótce tylko, za co go tak naprawdę lubię, za własne typy postów, akcje, filtry, motywy, potomne budowanie, modyfikacja, szablony, własne Polacy, czy pikli zobojętnie, czy nawet wbudowane, które są trochę więcej gimnastyki, WPekron i własne taksonomie to są rzeczy, które dają niesamowitego powera w budowaniu aplikacji opartego WordPressa. Moja inspiracja wewnątrz firmy, w tej chwili nie jest około 300 osób w oddziale Krakowski i mamy gramy między sobą z racji specyfiki firmy, gramy między sobą w różne eventy, które oparte są o zakłady sportowe. W tym roku pierwszy raz był przeprowadzony taki event związany z Cheltenham Festivalem. Jest to taki festiwal w Wielkiej Brytanii, gdzie to jest jeden z największych wyścigów komnych przez cztery dni Brytyjczycy samimi rodzinami uczęszczają, bawią się, obstawiają. Dla nich to jest niesamowita impreza i firma postanowiła tak bardziej przybliżyć całą tą atmosferę z tym związaną dla nas, tutaj, oddziału polskiego i zorganizowaną dla pracowników, żeby mogli sobie obstawiać. Wyglądało to mniej więcej tak, że codziennie przez cztery dni były go nitwy, tam po siedem był dajże i każdy mógł sobie tam w ankiecie google'owej dostawała ankietę google'ową, zaznaczał, który koń wygrał. Trzeba było sobie wejść też na stronę, powiedzmy William Hilla czy jakiegoś innego Bóg Machere popatrzeć, jakie stawki są, wybrać tak, żeby jak największy wynik uzyskać. Tutaj potem czekaliśmy na drugi dzień, aż osoba pokaże tego wypasionego Excela, w którym te wszystkie kalkulacje były i na którym miejscu jesteśmy. Ja tu akurat w pierwszy dzień byłem bardzo wysoko po drugim miejscu, ale potem już mi kompletnie nie szło, więc pokazuję akurat ten sklin z pierwszego dnia i tak codziennie przez cztery dni tworzyliśmy te ranki, na końcu było podsumowanie wszystkiego. Zapowała była bardzo fajna, przy okazji dowiedzieliśmy się więcej o weźcikach konnych, o całym tym biznesie. Drugim takim rzeczą inspirującą nie był coś, co jest cały czas przeprowadzane, nazywa się to GP Betting League, zajmuje się tym jedem kolega od nas, który tworzy sobie tą aplikację i tam można obstawiać mecze, jak to jest sezon, to są te normalne ligi obstawiane z różnych krajów, jeżeli tak jak teraz są mistrzostwa świata, to robi specjalny event związany z mistrzostwami świata i tam podajemy zwycięzcę i podajemy przewidywany przez nas wynik i to nie jest oparte na stawkach Bóg Macherskich, tylko punkty się dostają, jak się wygra, jak się wskażę poprawnie zwycięzcę, to jest tam jeden punkt, jak się wynik poprawnie, to tam trzy punkty, mniej więcej na tej zasadzie to działa. I też jest to co tydzień, jakby zwycięzca tygodnia, co miesiąc zwycięzca miesiąca itd. Bardzo fajna zabawa wśród znajomych, tworzy się taka fajna rywalizacja, dlatego ten temat plus mistrzostwa świata, teraz, w których w trakcie jesteśmy, przyszło mi do głowy, żeby może to wszystko połączyć ze sobą, ale nim to przejdziemy, pokażę wam, jak to wszystko skonstruowałem, taka króciutka w pigułce teoria zakładów sportowych, bo będzie nam potrzebne to do zrozumienia dalej, jak to wszystko zostało wykonane. Tutaj był screen akurat ze strony William Hilla i mamy wydarzenie wczorajszym mecz Francja Argentyna, to jest screen jeszcze sprzed meczu i tak, sam mecz to jest wydarzenie, event. Potem mamy markety. Markety to jest o co się zakładamy, zakładamy się, jak się skończy pierwsza połowa, entrance to outs to są takie kombinowane zakłady, na przykład mamy tam, że Messi strzeli gola i Argentyna wygra, na przykład to qualifiera, jaki będzie zwycięzca, także to jest market. Dalej mamy typy selekcji, selections. Selections to jest wskazujemy już konkretnego wygranego to, co się wydarzy, wybieramy jeden, czyli w przypadku jak 90 minut, jak zakończy się mecz po 90 minut, selection to jest Francja, remis lub Argentyna. A teraz mamy kursy ocy, czyli ile bokmacher nam wypłaci, jeżeli poprawnie wskażemy, jak jest przelicznik naszej wygranej. Jeszcze jeden element to jest stawka. Stawka to jest to, co my kładziemy, dajemy nasze pieniądze, żeby na podstawie tego potem jest, jeżeli zakład przez nas jest wygrany to jest nowona stawka razy kurs. No i wtedy tutaj to mamy cały bet, czyli market plus wydarzenie event, market, który wybraliśmy, typ selekcji, którą wybraliśmy, stawka oraz kurs i składamy sobie zakład. Dobra, no to teraz przychodzimy do tej WordPressowej części i jak ja sobie to wszystko porozkładałem. U samej góry mamy taxonomię. Dla mnie wydarzenie jest tak idealnym elementem, żeby użyć taxonomię, więc mamy wydarzenie. Wydarzenie posiada wiele marketów. Wydarzenie to przypomnę na przykład Francja, Argentyna i teraz własne typy postów market, czyli zwycięzca, jak się zakończy pierwsza połowa, kto strzeli pierwszego gola, ile będzie rzutów rosznych itd. To są markety i do tego użyłem własny typ postów market. W tym użyłem ACF do tworzenia własnych pól i w nim mamy właśnie w repiterze sobie powtórzyłem dowolną ilość kurs nazwa, kurs nazwa, kurs nazwa i to są jako te typy, które wskazujemy, które wygrywają. Potem dalej kolejny typ postów to mamy zakład. Zakład posiada stawkę, kurs to co pokazywałem na tym bloczku z boku, potem mamy transakcję. Transakcja to jest operacja na koncie użytkownika, czyli jak składamy zakład, to odejmuje nam pieniądze. Chcę sobie zapisać, że taka sytuacja była i w momencie, gdyby ten zakład był wygrany to zwracamy pieniądze, to też dołożymy transakcję, która te pieniądze zwróci z wygra. I na końcu mam jeszcze taksonomię rywalizację, po co to dodałem, po to, żeby tak robić jak na tym, czy techamie mówią, że jest wycięsta dnia to tu przełóżmy sobie to na mistrzostwo świata, ta faza grupowa. No to otworzę, że te wszystkie sobie przepisuję eventy, czyli wydarzenia, które są w tej fazie grupowej i wyłonię zwycięzcę tej fazy grupowej. No i tworzę sobie ranking. Tam pozycja użytkownika, ile zarobił i tak dalej. A żeby teraz to lepiej zobrazować, pokażę to, jak to na stronie wygląda, jak zbudowałem już konkretną tą stroną. Najpierw jeszcze skąd wziąłem źródło danych, bo o tym zapomniałem powiedzieć. Z źródło danych nie chce mi się za każdym razem wprowadzać tych wszystkich danych, czyli tworzyć eventów wprowadzać tych na przykład tak, jak mamy dokładny wynik no to tam jest od 0, 0 do począwszy na 10, 0. Dla jednej druży, dla drugie, więc tych selections bardzo dużo, potem są stawki, które się aktualizują, bo na przykład wydarzy się coś przed meczem, że nagle się okazuje, że ktoś jest kontucjowany i wtedy te stawki się zmieniają dramatycznie, więc postanowiłem użyć do tego api jakiegoś pociągnąć sobie te dane sportowe. Akurat ja użyłem z William Hillowych, no bo jestem częścią tego zespołu, więc wystarczyło, że napisałem na slaku do jednego współpracowników, dostałem klucz do sandboxa, mogłem się już bawić. Tutaj możemy pociągnąć sport, potem wydarzenie, potem competition, czyli jaki to jest rodzaj imprezy, potem wyciągamy wszystkie eventy, możemy poprać stawki i tak dalej. Przy czym akurat tutaj użyłem z William Hill, bo dla mnie było wygodniej, ale na internecie możecie znaleźć innych dostawców. W większości są to płatne usługi, ale nie zawsze. Na przykład jak robiłem research to znalazłem również bezpłatne, jest jakaś otwarta, która dla niekomerycyjnych jest za darmo, jest też inna, która do 150 requestów na miesiąc pozwala też robić i pobierać te dane, więc można to sobie łatwo znaleźć. I jak ja to zrobiłem, pierwsze dodałem sobie stronę w adminie do tego importera, żeby pociągnąć te dane, to jest żywcem zjęte z dokumentacji WordPressa. Do aktualizacji kursów wykorzystujemskę jullercron, który sobie co jakiś czas idzie i ponownie pobiera aktualizuje te kursy. Cały kod to tak naprawdę kilka linii prostego kodu HTML, to robię kurla, robię kolor do API, pociągam wydarzenie World Cup, dostaję listę wszystkich mecz, które tam są, no to wybieram mecz, robię jeszcze jeden, dostaję listę wszystkich selections z wartościami, więc tak naprawdę tylko pętelka w instrukcja warunkowa tyle. I prosty kod HTML, którymi pozwalana przejście tego i zapis do WordPressa, żeby to wrzucić, no to tylko wkładam posta, przypisuję do kategorii, updateuję pole, tyle. Tak to mniej więcej wygląda, czyli wybieram sobie, tu akurat jest sandboxa dane, to nie są te prawdziwe, potem wybieram sobie, jaki jest event, a potem zaznaczam, które markety. I w momencie, jak kilka continue, one są już zaimportowane w odpowiednim miejsce, to utworzone wszystkie posty. Dobra, i teraz tak, przechodzę już do konkretnej strony, tak wygląda strona, którą stworzyłem i ona jest oparta, wziąła pierwszy z brzegu motyw Hextia z repozytorium motywów, utworzyłem motyw potomny, powiedziałem, że tam będę chciał to zmodyfikować, no pierwsze utworzyłem sobie szablon taksonomii, w moim przypadku było event i to on mi listuje wszystkie posty z danej kategorii, z danej taksonomii. Mamy tutaj nazwę i teraz tak, tu mamy wylistowane tytuły marketów konkretnych, które są, a tutaj w pętli poprałam sobie z ACF'a, te pola i wypisałam wszystkie typy, jakie są i teraz tak, z boku poprawa i zrobiłem sobie widget, bardzo prosty według dokumentacji WordPressa, widget API Getfield, pobieram tylko wartość pola w której trzymam stan konta użytkownika i przycisk wylogu i dorubiłem w upelogin logout Kolejne te widgets tutaj to są zwykłe wbudowane widgets i menu, w menu sobie wskazuje, że to jest który taksonomiet tak chce wyświetlić poniżej dwie strony, z transakcjami, z listingiem transakcji i pętów, które złożyliśmy z zakładów No i to jest element, którym trochę więcej było pracę ale też niezbyt dużo zapis zakładu. Pierwszy, czego użyłem kolory ajaksowe żeby zebrał mi z tych formularzy te dane które sobie tu stawię, stawkę podam i też za dokumentacją WordPressa pobieram pola, sprawdzam tylko porównuję czy tam nie było czegoś innego, czy się zdezaktualizowały czy wszystko jest w porządku poprawnie są podane te dane do złożenia betu tworzę post, inserta z zakładem jeśli wszystko jest poprawnie i tworzę post transakcją tak naprawdę to dość prosto jest więc mamy instrukcję warunkowe, pętle JSON-N-Code żeby zwrócić w postaci JSON-nowej wynik no i zbieram stawkę i tak dalej kawę, czekczę was kryptu, który po otrzymaniu tego JSONa wyświetli mi alerta, że udało się lub był błąd, coś jest nie tak, nie masz kasy na tyle ok, teraz przejdźmy dalej transakcję użytkowników, tu utworzyłem osobną stronę na której listuję wszystkie transakcje które użytkownik złożył, więc tam mamy tylko dodałem sobie szablon dla strony user-pence i user-transactions dwa takie szablony dodałem gdzieś gdzie pobieram posty po typie i po użytkowniku i tutaj je wyświetlam, po prostu getfield żebym miał też ile zostało złożone i ostatni element tak naprawdę tej całej układanki, rozliczenie zakładów jak zrobiłem z rozliczeniem dodałem kolejną stronę w adminie tak jak dodałem tam do importu to dodałem stronę do rozliczania tych betów oczywiście dałoby się kolejne API podpiąć które ściągnie już wyniki i samodzielnie to rozliczy natomiast ja zrobiłem to ręcznie żeby też przy okazji cokolwiek więcej tutaj zostało po stronie WordPressa i co on mi, on mi pobiera listę markety, markety które nie są do tej pory rozliczone i wyświetla w formie takiego prostego formularza ja sobie oznacza checkboxami które z tych marketów zostały które z tych selekcji wygrały tak jak na przykład mamy tutaj Rosja Horwacja liczba rzutów rożnych i jeżeli było ich powyżej 12 oznaczam to rozlicz i wszystkie w tej chwili się wykonuje skryp który wyłapuje mi wszystkie bety które zostały złożone na tą selekcję i dla nich w tworze rozliczenia rozlicza użytkownika dodajemu pieniądze tworzy transakcję i to by było wszystko jeśli chodzi o aplikację to naprawdę całkiem niedużo kodu rzeczy wbudowane WordPressa i mamy taką pseudo bugmachera dla sam raz dla zabawy, dla grupy znajomych, dla pracowników wiadomo, chcąc żeby to było profesjonalne musieliśmy całe masy warunków sprawdzane i tak dalej to są operacje na pieniądze jakie w ogóle natomiast bardzo szybko można taką aplikację zbudować a mnie to zajęło robiłem to tylko po godzinach od czasu do czasu się dając więc szacuję, że około 2-3 dni roboczych stworzenie czegoś takiego zajęło mi w całości i teraz co, chciałbym was zaprosić do zabawy potem wam za chwilę urla do tej strony jeżeli będziecie mi ruchotę, zagrajcie, poobstawiajcie jutro zobaczymy jak wypadniecie na tle innych czy jesteście dobrymi znawcami piłki nożnej mam drobne upominki dla kilku osób niestety z racji polskiego prawa nie może to być dla zwycięstw ponieważ jest to loteria i miały zbyt dużo zachodu żeby to wszystko załatwić aby mógł legalnie przeprowadzić tutaj loterię po pierwszym telefonie do Ministerstwa Skarbu do Izby Celnej zrezygnowałem postanowiłem urządzić konkurs a nie loterię, różnie się to tym że za chwilę podam dokładne warunki i nagrody też są bardzo symboliczne żeby nie podpaść udział w zabawie, każdy uczestnik urdkampa może się tam zarejestrować i dla mnie właśnie, dlatego to jest konkurs liczy się kolejnej już rejestracji więc pierwsze pięć osób, które się zarejestrują i złożą przynajmniej po jednym zakładzie na każdy market w obu dzisiejszych meczach, które dzisiaj będą te pierwsze pięć osób jutro do mnie otrzyma tam były pokazane gadżety więc jutro proszę się do mnie z identyfikatorem dane osobowe tylko na moment przeprowadzenia tego w ciągu tygodnia zostało usunięte bezpowrotnie listata wygranych rankiem się pojawi tylko dla tych, którzy są zarejestrowani i tutaj jest strona, jeżeli ktoś by miał ochota się zarejestrować i to by było tyle, więc jeżeli jakieś pytania