W piątek dodałem post w którym pokazałem jak utworzyć dodatkowy szablon dla stron w WordPress, dzisiaj natomiast opiszę jak “page-templates” ma się do tworzenia dodatkowych szablonów dla wpisów.
Po co komu dodatkowy szablon dla wpisów w WordPress?
Wyobraź sobie, że klient prowadzi bloga, dodaje wpisy na różne tematy, jednak od czasu do czasu potrzebuje dodać wpis np. ze zmienionym układem strony, z sekcją przygotowaną za pomocą ACF albo chce umieścić widget do wpłacania za pomocą PayPall. Wpisy będą dodawane raz na jakiś czas, ale klient chce w przyszłości mieć możliwość skorzystania z szablonu.
Jak utworzyć dodatkowy szablon wpisu w WordPress?
Po pierwsze kopiujemy w motywie plik single.php i tworzymy nowy plik np. single-paypall.php, w którym wprowadzimy wszystkie oczekiwane modyfikacje.
Na samej górze dodajemy kod, dzięki któremu WordPress zidentyfikuje ten plik jako dodatkowy szablon dla wpisów:
<?php
/*
Template Name Posts: PayPall
*/
?>
Ma to wyglądać mniej więcej tak:
Następny krok to instalacja oraz aktywacja bardzo prostej i dosyć “wiekowej” wtyczki o nazwie Custom Post Template, którą znajdziesz w wordpressowym repo pod linkiem: https://pl.wordpress.org/plugins/custom-post-template/
I gotowe!
Za każdym razem gdy będziesz tworzyć wpis to po prawej stronie pojawi się możliwość zmiany szablonu w widgecie “Post Template”, tak jak na załączonym zrzucie ekranu:
Wszystkie zmiany jakie wprowadzisz w swoim pliku (mój plik to: single-paypall.php) będą widoczne w postach, które będą miały ustawiony Post Template w kokpicie.
To jak ten szablon będzie wyglądał zależy tylko od Ciebie i Twoich umiejętności, możesz zmienić całkowicie układ pojedynczego wpisu, dodać formularze, bramki płatności, galerię zdjęć, dodatkowe paski boczne itd.
“Szablonowe” posty warto zaszufladkować do jakiejś kategorii, żeby później można było lepiej nimi zarządzać. Co prawda jeśli miałoby się okazać, że tych okazjonalnych “szablonowych” wpisów będzie bardzo dużo, to lepiej pomyśleć nad stworzeniem zupełnie odrębnego niestandardowego typu postu (CPT).