Mówiąc o szablonach, jeśli chodzi o szablony WordPress, szablony JavaScript lub szablony w innym języku, myślę, że warto użyć konkretnego projektu lub przykładu, aby omówić, jak to działa, zamiast mówić o tym w bardziej ezoteryczny sposób.
Jeśli nie śledziłeś tej serii i dopiero zaczynasz tworzyć szablony, polecam przeczytanie dwóch pierwszych części serii:
Następnie podzielimy koncepcję na dwie części:
- zrozumienie czym jest szablonowanie,
- jak szablonowanie może działać w WordPressie.
Wyzwanie polega oczywiście na tym, że mamy „szablony WordPress", a następnie mówimy o użyciu silnika szablonów do zmiany szablonów WordPress, sposobu ich działania, sposobu wstrzykiwania do nich danych i tak dalej.
Ale zrobię co w mojej mocy, aby wyjaśnić każdą część.
Szablony WordPress (ale nie szablony)
Jeśli chodzi o mówienie o szablonowaniu, pomocne jest posiadanie działającej definicji szablonów lub silników szablonów. Prawda jest taka, że tworzenie szablonów odbywa się za pomocą silnika szablonów.
Robocza definicja
Ogólna definicja silnika szablonów to :
Procesor szablonów (znany również jako silnik szablonów lub parser szablonów) to oprogramowanie zaprojektowane do łączenia szablonów z modelem danych w celu tworzenia dokumentów wynikowych.
I chociaż to prawda, jest trochę rozwlekły lub bardziej złożony niż jest to moim zdaniem konieczne, niż jest to konieczne do wyjaśnienia ogólnej koncepcji. Może uda nam się wypracować następującą definicję:
Silnik szablonów używa składni do wstrzykiwania danych do dokumentu.
To jest naprawdę ogólne i za chwilę zagłębimy się w PHP, ale najpierw chciałem podać podstawową, działającą definicję, a następnie przejść od tego, ponieważ szablony mogą być używane w wielu różnych językach.
Co więcej, ważne jest, aby pamiętać, że dobry silnik szablonów często zapewnia poziom bezpieczeństwa, elastyczność, a potencjalnie nawet „tryb piaskownicy”, z którego testujemy kod przed wdrożeniem go w środowisku produkcyjnym.
Jak wygląda tworzenie szablonów?
Ze względu na różną składnię szablony będą wyglądać nieco inaczej, ale jeden popularny silnik szablonów PHP nazywa się Twig. Konkretny przykład szablonów opartych na PHP, które używają Twiga, może wyglądać mniej więcej tak:
{% extends "base.twig" %}
{% block content %}
<h1 class="big-title">{{foo}}</h1>
<h2>{{post.title}}</h2>
<img src="{{post.thumbnail.src}}" />
<div class="body"> {{post.content}} </div>
{% endblock %}
Jak widać, to trochę różni się od tego, czego używamy, do znaczników, znaczników HTML, PHP itd., chociaż wciąż istnieją znaczniki unikalne dla silnika szablonów.
Mimo to, jeśli znasz koncepcje obiektów, możesz zobaczyć, jak uzyskać do nich dostęp w kontekście szablonu za pomocą notacji z kropkami, a nie jakiejkolwiek notacji lub wywołań funkcji, których używasz w dokumencie PHP .
Czy istnieją silniki szablonów WordPress?
Tak i nie. Chodzi mi o to, że istnieją sposoby na wykorzystanie silników szablonów w kontekście WordPressa, ale nie mogę powiedzieć, że istnieje definitywny szablon dla WordPressa. Niektóre z przykładów rzeczy, które możesz chcieć sprawdzić (przed przeczytaniem następnego posta), to:
Ale są inne opcje.
Ale prawdopodobnie użyję czegoś takiego jak Timber w następnym poście.