W odniesieniu do logiki, ten temat pełni funkcję formularza, w którym klient otrzymuje dane logowania do swojego konta, loguje się i musi wypełnić formularze (zadania) do ustalonej daty. Z drugiej strony, firma zbiera te dane.
Konieczne jest stworzenie niestandardowego motywu dla WordPressa, wykorzystując dostarczone pliki HTML, CSS i JS. Motyw ma składać się z trzech głównych stron oraz zawierać dodatkowe funkcjonalności do pracy z użytkownikami i niestandardowymi typami treści.
👉Podstawowe wymagania:
Struktura motywu:
Motyw powinien zawierać trzy główne strony HTML:
login.html ta strona ma być używana jako strona główna i umożliwiać użytkownikom logowanie się. Po pomyślnym zalogowaniu użytkownik trafia na inne strony.
overview.html ta strona ma być dostępna tylko dla zalogowanych użytkowników. Powinna wyświetlać informacje o przypisanych wydarzeniach (Events) oraz statystyki dotyczące wykonanych i niewykonanych zadań (Tasks).
tasks.html również dostępna tylko po zalogowaniu. Na tej stronie użytkownicy powinni mieć możliwość wypełniania i wysyłania formularzy, które następnie będą wyświetlane jako "wykonane".
Niestandardowe typy postów:
Stworzyć niestandardowy typ postu Events (Wydarzenia). Każde Wydarzenie ma możliwość edytowania następujących pól: tytuł, tekst i obraz. Wydarzenie może być powiązane z kilkoma użytkownikami z rolą event_user, ale każdy użytkownik może być powiązany tylko z jednym wydarzeniem.
Niestandardowa rola użytkownika:
Stworzyć niestandardową rolę "Event User". Użytkownicy tej roli nie powinni mieć dostępu do panelu administracyjnego WordPressa, a jedynie do frontendu po pomyślnym zalogowaniu. Rola "Event User" zapewnia dostęp tylko do stron overview.html i tasks.html.
Funkcjonalność dla administratora:
Administrator ma możliwość przeglądania danych przesłanych przez użytkowników (rola: "Event User") za pośrednictwem formularzy na stronie tasks.html. W panelu WordPress administrator może zobaczyć wszystkie informacje, które użytkownicy wypełnili w formularzach.
👉Funkcjonalność na stronach:
overview.html na tej stronie powinna być sekcja, która wyświetla przypisane wydarzenie dla użytkownika (jeśli takie istnieje). Powinna również być sekcja z listą zadań (Tasks), gdzie będzie wyświetlany status każdego zadania: wykonane lub niewykonane.
tasks.html użytkownicy mają możliwość wypełniania i wysyłania formularzy do wykonania zadań. Po wysłaniu, zadanie powinno być oznaczone jako "wykonane", a informacja o tym będzie wyświetlana na stronie.
Formularze na stronie Tasks powinny przechowywać dane po wysłaniu, aby administrator mógł je przeglądać w panelu.
👉 Dodatkowo:
Wykorzystanie standardów WordPress do tworzenia motywów i wtyczek. Przestrzeganie zasad bezpieczeństwa, takich jak walidacja i eskaping wejścia. Realizacja niestandardowego typu postu za pomocą funkcji motywu. Zapewnienie poprawnego wyświetlania stron na wszystkich urządzeniach.