Skip to main content
Pobawmy się
WordPressem
Kto wygra Mistrzostwa Świata 2018
Łukasz Wilczak
2
Możliwości WordPressa
Własne typy postów
Własne taksonomie
Szablony w motywie
Akcje i filtry
wp-cron
Własne pola (ACF)
Motyw potomny
Inspiracja - Cheltenham Festival w Grand Parade
3
Odrobina teorii zakładów sportowych
4
Odrobina teorii zakładów sportowych
5
Wydarzenie (Event)
Odrobina teorii zakładów sportowych
6
Markety
Odrobina teorii zakładów sportowych
7
Typy (Selections)
Odrobina teorii zakładów sportowych
8
Kursy (Odds)
Odrobina teorii zakładów sportowych
9
Stawka (Stake)
Odrobina teorii zakładów sportowych
10
Zakład (Bet)
Mapowanie funkcjonalności na elementy WordPress-a
11
RYWALIZACJA
MARKET TRANSAKCJA
stawka, kurs,
ID użytkownika
ID SELEKCJI
SELEKCJE
(repeater)
kurs, nazwa
Wartość
ID użytkownika
WYDARZENIA
RANKING
POZYCJE
(repeater)
ID użytkownika
bilans zakładów,
ID SELEKCJI
Własne pola
(ACF)
Własne typy
postów
Taksonomie
ZAKŁAD
Żródło danych - https://developer.williamhill.com/v2/api
12
Import i aktualizacja danych
13
Strona w adminie i dodanie do menu
add_action( 'admin_menu’, 'my_admin_menu’ );
function my_admin_menu() {
add_menu_page( … );
}
Aktualizacja kursów
- wp_schedule_event
Własny kod
- klika linii prostego kodu HTML
- curl w PHP
- instrukcje warunkowe i pętle PHP
Zapis danych – funkcje WP
- wp_insert_post
- wp_set_post_terms
- update_field (ACF)
Import i aktualizacja danych
14
15
Darmowy motyw "Hestia"
Motyw potomny
16
Szablon: taxonomy-{name}.php
17
Taksonomia WYDARZ
ENIE
18
Własny typ postu
MARKET
19
Własne pola (ACF)
TYPY
20
Własny Widżet
Funkcje WP:
• Widgets API
• get_field (ACF)
• wp_logout_url
21
Widżety + Menu
22
Zapis zakładu
Funkcje WP:
• WP ajax
• get_posts
• get_fields (ACF)
• wp_insert_post
• wp_update_post
Własny kod:
• instrukcje warunkowe
i pętle PHP
• json_encode
• Zebranie stawki, id
typu i marketu przez
JavaScript oraz post
ajaxowy.
23
Transakcje i zakłady użytkowników
24
Funkcje WP:
• Dodany szablon
strony w motywie
• get_posts
• get_field (ACF)
Własny kod:
• pętla PHP
• prosty Kod HTML
Rozliczanie zakładów
Kolejna strona w adminie + akcja dodania do menu
• Strona listuje aktywne markety wraz z ich selekcjami (checkboxy)
• Oznaczam markety do rozlizenia i wygrane selekcje
• Skrypt wyszukuje w powiązane z nimi zakłady (po ID SELEKCJI)
• W przypadku wygranej selekcji tworzy transakcję
z wygraną oraz dopisuje wynik do rankingu.
25
Użyte funkcje WP
• get_posts
• wp_insert_post
• get_field (ACF)
• update_field (ACF)
Własny kod
• Prosty kod HTML
• Instrukcje warunkowe oraz pętle PHP
Zagrajmy!
• Zobacz, jak wypadniesz na tle
pozostałych uczestników WordCamp
• Sprawdź, jak dobrym jesteś “tipsterem”
• Wybieraj spośród wielu marketów:
• 90 minut, pierwsze
wydarzenie, dokładny wynik itp.
• Wybierz strategię: pewniak I niska wygr
ana czy szczęśliwy traf i duża wygrana
? A może obie?
• Poczuj jakie emocje daje hazard bez ry
zyka finansowego
• Wygraj gadżety
26
Zasady zabawy
27
• Udział w zabawie może wziąc każdy uczestnik WordCampa, w tym organizatorzy.
• Zarejestruj się na podanej stronie, liczy się kolejność rejestracji!!!
• Złóż przynajmniej po jednym zakładzie na każdy market w obu dzisiejszych meczach,
dowolnie dzieląc Twoje “WordCampCoiny”.
• Możliwość składania zakładów konczy się na 15 minut przed rozpoczęciem meczu.
• Poczekaj na rozliczanie zakładów najpóźniej do jutra godz 10.00 I sprawdź listę wygranych na
stronie.
• Jeśli jesteś w grupie szczęśliwców, zgłoś się do mnie osobiście z indentyfikatorem WordCamp po
odbiór gadżetów.
• Wszelkie dane osobowe podane podczas rejestracji (email, nazwa użytkownika) zostaną
wykorzystane tylko w celu przeprowadzenia tego konkursu.
• Dane osobowe zostaną bezpowrotnie usunięte w ciągu tygodnia, najpóźniej do dnia 15.07.2018 r.
• Lista wygranych oraz ranking będą dostępne tylko dla zalogowanych użytkowników.
28
https://betwc2018.online
Dziękuję
Łukasz Wilczak
lukasz.wilczak@grandparade.co.uk
lukasz.wilczak@wilnet.eu
tel. (+48) 884 011 112
Rekrutujemy
Solution Architect
Front-end Developer
Development Lead
Full-stack Developer
Scrum Master
QA Engineer
QA Lead
Application Architect
Bussines Analyst
Development Manager
System Engineer
Security Developer
Cloud Architect