✅ Nowości, motywy, wtyczki WEB i WordPress. Tutaj dzielimy się wskazówkami i najlepszymi rozwiązaniami dla stron internetowych.

Dołączanie niestandardowych szablonów do naszych wtyczek WordPress

9

Myślę, że jednym z bardziej niedocenianych aspektów – a może jednym z rzadko omawianych aspektów tworzenia niestandardowych wtyczek – jest możliwość dołączania niestandardowych szablonów do naszych wtyczek WordPress.

I, szczerze mówiąc, rozumiem: jestem dość zagorzałym zwolennikiem wtyczki i motywu.

To znaczy:

  • tematy są do prezentacji,
  • wtyczki to funkcjonalność.

Jeśli dołączam szablony do wtyczki, czy nie robię tego samego, co wtedy, gdy programiści dołączają funkcjonalność do swoich motywów?

Podobnie jak w przypadku wielu rzeczy w fazie rozwoju, myślę, że to zależy. Mam na myśli, że dodanie wielu funkcji, które blokują motyw, jest czymś, czego nie jestem fanem. Podobnie, jeśli masz wtyczkę, która ma prezentować dane na interfejsie użytkownika i jest agnostyczna dla motywu, ma to sens.

Musisz więc być rozsądny w swoich decyzjach.

Niezależnie od tego istnieje wspólny zestaw kroków, których możemy użyć, gdy dołączamy niestandardowe szablony do naszych wtyczek WordPress.

I to właśnie pokaże ten post.

Jeśli zamierzasz dołączyć niestandardowe szablony do wtyczki, zakładam, że używasz zarówno szablonów pojedynczych, jak i archiwalnych. Jeśli nie, użyj tylko tych haczyków i kodu, których potrzebujesz.

Dołączanie niestandardowych szablonów do naszych wtyczek WordPress

Dla obu jednak wiedz, że:

Korzystając z tych haczyków, możesz powiedzieć WordPressowi, gdzie znajdują się niestandardowe szablony w Twojej wtyczce.

Porządkowanie szablonów

Dla mnie zwykle mam  katalog szablonów w mojej wtyczce, który zawiera witryny na tym samym poziomie, co  katalogi asset, src i vendor.

Dołączanie niestandardowych szablonów do naszych wtyczek WordPress

Ułatwia to zorientowanie się, gdzie się znajdują i zapewnia spójny sposób włączania ich do wszystkich utworzonych wtyczek. W końcu jest coś do powiedzenia za bycie konsekwentnym w stosowanych przez nas konwencjach.

W tym szablony

Zakładając, że masz  szablon single-acme.php i szablon archive-acme.php, łatwo go dołączyć. I chociaż jestem bardziej fanem programowania obiektowego, pokażę, jak dołączyć te szablony za pomocą kodu proceduralnego.

Jeśli chcesz, możesz łatwo przekonwertować ten kod na kod obiektowy. Co więcej, zakładam, że uwzględniasz to również dla niestandardowych typów postów.

Zawsze możesz pominąć warunek warunkowy dla niestandardowego typu postu, jeśli chcesz po prostu dołączyć te szablony, ale z mojego doświadczenia wynika, że ​​rzadko zdarza się, aby te sytuacje nie używały niestandardowych typów postów, ale nie znam Twojej sytuacji.

To powiedziawszy, oto kod.

Definiowanie haków

Najpierw musimy zdefiniować haki. Jest to stosunkowo proste, ponieważ będziemy używać haków opisanych powyżej.

Po pierwsze, pojedynczy szablon :

A potem szablon archiwum :

A teraz możemy zaimplementować kod dla każdej z funkcji.

Dodawanie kodu

Tak więc najpierw przyjrzymy się pojedynczemu szablonowi :

A teraz szablon archiwum :

Jeśli zwracałeś szczególną uwagę na kod, wiesz, że niewiele się różni. W rzeczywistości ogólny proces można scharakteryzować w następujący sposób:

  1. zdefiniuj hak,
  2. zlokalizuj szablon,
  3. sprawdź niestandardowy typ postu,
  4. szablon istnieje, użyj go
  5. w przeciwnym razie użyj domyślnego szablonu

I to jest proces zarówno dla szablonów pojedynczych, jak i archiwalnych.

Pisanie kompatybilnych szablonów

I na koniec, co jest ważne, zwłaszcza jeśli chcesz, aby szablon był jak najbardziej agnostyczny, staram się używać jak najwięcej wbudowanych tagów szablonów WordPress podczas wyświetlania treści związanych z wtyczką. Pozwala to programistom motywów na łatwe dopasowanie ich do motywu.

Nie, nie będziesz w stanie pomieścić każdego motywu, ale taka jest natura motywów WordPress. Chodzi o to, aby zająć jak najwięcej pracy związanej z pobieraniem i renderowaniem danych z szablonu, aby programiści front-end mogli łatwo nimi zarządzać.

Źródło nagrywania: tommcfarlin.com

Ta strona korzysta z plików cookie, aby poprawić Twoje wrażenia. Zakładamy, że nie masz nic przeciwko, ale możesz zrezygnować, jeśli chcesz. Akceptuję Więcej szczegółów