WordPress.org (Polski)
Szablony stron to szczególny typ plików szablonów, które można zastosować do określonej strony lub grup stron.
Uwaga: Od wersji 4.7 szablony stron WordPress obsługują wszystkie typy postów. Aby uzyskać więcej informacji, jak ustawić szablon strony dla określonych typów postów, zobacz poniższy przykład.
Ponieważ szablon strony to określony typ pliku szablonu, oto kilka wyróżniających cech szablonów stron:
- Szablony stron służą do zmiany wyglądu i sposobu działania strony.
- Szablon strony można zastosować do pojedynczej strony, sekcji strony lub klasy stron .
- Szablony stron mają zazwyczaj wysoki poziom szczegółowości i są kierowane na pojedynczą stronę lub grupę stron. Na przykład szablon strony o nazwie
page-about.php
jest bardziej szczegółowy niż pliki szablonówpage.php
lubindex.php
ponieważ wpłynie to tylko na stronę z napisem „około”. - Jeśli szablon strony ma nazwę szablonu, użytkownicy WordPress edytujący stronę mają kontrolę nad tym, który szablon zostanie użyty do renderowania strony.
Zastosowania szablonów stron # Zastosowania dla szablonów stron
Szablony stron wyświetlają dynamiczną zawartość witryny na stronie, np. posty, aktualizacje wiadomości, wydarzenia w kalendarzu, pliki multimedialne itp. Możesz zdecydować, że chcesz, aby Twoja strona główna wyglądała w określony sposób, czyli zupełnie inaczej niż w innych częściach witryny. Możesz też chcieć wyświetlić polecany obraz, który prowadzi do posta w jednej części strony, masz listę najnowszych postów w innym miejscu i skorzystaj z niestandardowej nawigacji. Możesz użyć szablonów stron, aby osiągnąć te cele.
Ta sekcja pokazuje, jak tworzyć szablony stron, które użytkownicy mogą wybierać za pomocą ich ekrany administratora.
Na przykład możesz budować szablony stron dla:
- pełnej szerokości, jednokolumnowy
- dwukolumnowy z paskiem bocznym po prawej stronie
- dwie kolumny z paskiem bocznym po lewej stronie
- trzy kolumny
Góra
Szablony stron w ramach Hierarchii szablonów #Page Szablony w ramach hierarchii szablonów
Gdy osoba przegląda Twoją witrynę, WordPress wybiera szablon, który ma być użyty do renderowania tej strony. Jak dowiedzieliśmy się wcześniej w Hierarchii szablonów, WordPress szuka plików szablonów w następującej kolejności:
- Szablon strony – jeśli strona ma przypisany niestandardowy szablon, WordPress szuka tego pliku i jeśli zostanie znaleziony , używa go.
-
page-{slug}.php
– Jeśli nie został przypisany żaden szablon niestandardowy, WordPress szuka i używa specjalnego szablonu, który zawiera informacje o stronie. -
page-{id}.php
– Jeśli nie zostanie znaleziony wyspecjalizowany szablon zawierający informacje o pracy strony, WordPress szuka i używa specjalnego szablonu o nazwie z identyfikatorem strony. -
page.php
– Jeśli nie zostanie znaleziony wyspecjalizowany szablon zawierający identyfikator strony, WordPress szuka i używa domyślnego szablonu strony motywu. -
singular.php
– Jeślipage.php
nie zostanie znalezione, WordPress szuka i używa szablonu motywu używanego dla pojedynczego posta, niezależnie od jego typu. -
index.php
– jeśli nie ma konkretnego szablony stron są przypisywane lub znajdowane, WordPress domyślnie używa pliku indeksu motywu do renderowania stron.
Ostrzeżenie: istnieje również szablon zdefiniowany przez WordPress o nazwie paged.php
. Nie jest używany jako typ postu na stronie, ale raczej do wyświetlania wielu stron archiwów.
Do góry
Cel szablonów stron & Kontrola użytkownika #Page Templates Cel & Kontrola użytkownika
Jeśli planujesz utworzyć niestandardowy szablon strony dla swojego motywu, powinieneś zdecydować o kilku rzeczach przed kontynuowaniem:
- Czy szablon strony będzie przeznaczony dla jednej konkretnej strony, czy dla dowolnej strony; oraz
- Jaki typ kontroli użytkownika ma być dostępny dla szablonu.
Każdy szablon strony, który ma nazwę szablonu, może zostać wybrany przez użytkownika podczas tworzenia lub edycji Strona. Listę dostępnych szablonów można znaleźć na Stronach > Dodaj nowy > Atrybuty > Szablon . Dlatego użytkownik WordPress może wybrać dowolny szablon strony z nazwą szablonu, co może nie być Twoim zamiarem.
Na przykład, jeśli chcesz mieć określony szablon dla swojej strony „Informacje”, może to nie być nazwać ten szablon strony „O szablonie”, ponieważ byłby on dostępny globalnie dla wszystkich stron (tj. użytkownik mógłby zastosować go do dowolnej strony). Zamiast tego utwórz szablon jednorazowego użytku, a WordPress wyrenderuje stronę za pomocą odpowiedniego szablonu za każdym razem, gdy użytkownik odwiedzi stronę „Informacje”.
I odwrotnie, wiele motywów obejmuje możliwość wyboru liczby kolumn, z których strona będzie mieć. Każda z tych opcji jest szablonem strony dostępnym globalnie.Aby zapewnić użytkownikom WordPressa tę opcję globalną, musisz utworzyć szablony stron dla każdej opcji i nadać każdemu nazwę szablonu.
Dyktowanie, czy szablon jest przeznaczony do użytku globalnego, czy do użytku pojedynczego, jest osiągane przy okazji plik ma nazwę i czy ma określony komentarz.
Uwaga: Czasami dobrze jest mieć szablon globalnie dostępny, nawet jeśli wydaje się, że jest to pojedynczy przypadek użycia. Tworząc motywy do wydania, może być trudno przewidzieć, jak użytkownik nazwie swoje strony. Strony portfolio są świetnym przykładem, ponieważ nie każdy użytkownik WordPressa nazywa swoje portfolio tak samo lub ma ten sam identyfikator strony, a mimo to może chcieć użyć tego szablonu.
Do góry
Organizacja plików w szablonach stron # Organizacja plików w szablonach stron
Jak omówiono w części Organizowanie plików motywów, WordPress rozpoznaje szablony stron podfolderów. Dlatego dobrym pomysłem jest przechowywanie globalnych szablonów stron w tym folderze, aby ułatwić ich uporządkowanie.
Alert: Specjalny plik szablonu strony (utworzony tylko do jednorazowego użytku) nie może znajdować się w podfolder lub, jeśli używasz motywu podrzędnego, w folderze motywu nadrzędnego.
Do góry
Tworzenie niestandardowych szablonów stron do użytku globalnego # Tworzenie niestandardowych szablonów stron do użytku globalnego
Czasami potrzebujesz szablonu, który może być używany globalnie na dowolnej stronie lub na wielu stronach. Niektórzy programiści grupują swoje szablony z prefiksem nazwy pliku, na przykład page_two-columns.php
Uwaga: ważne! Nie używaj page-
jako prefiksu, ponieważ WordPress zinterpretuje plik jako wyspecjalizowany szablon, przeznaczony do zastosowania tylko do jednej strony w Twojej witrynie.
Aby uzyskać informacje na temat konwencji nazewnictwa plików motywów i nazw plików, których nie możesz używać, zobacz zarezerwowane nazwy plików motywów.
Porada: Szybka i bezpieczna metoda tworzenia nowy szablon strony polega na utworzeniu kopii page.php
i nadaniu nowemu plikowi odrębnej nazwy. W ten sposób zaczynasz od struktury HTML swoich innych stron i możesz edytować nowy plik według potrzeb.
Aby stworzyć szablon globalny, napisz otwierający komentarz PHP na górze plik zawierający nazwę szablonu.
<?php /* Template Name: Example Template */ ?>
Dobrze jest wybierz nazwę opisującą działanie szablonu, ponieważ nazwa jest widoczna dla użytkowników WordPress, gdy edytują oni stronę. Na przykład możesz nazwać swój szablon Strona główna, Blog lub Portfolio.
Ten przykład z motywu TwentyFourteen tworzy szablon strony o nazwie Strona o pełnej szerokości:
<?php/*** Template Name: Full Width Page** @package WordPress* @subpackage Twenty_Fourteen* @since Twenty Fourteen 1.0*/
Po przesłaniu pliku do folderu motywu (np. strona- szablony), przejdź do strony > ekranu Edycja w panelu administratora.
On the right hand side under attributes you"ll see template. This is where users are able to access your global page templates.
Tip: The select list has a maximum width of 250px, so longer names may be cut off.
Do góry
Tworzenie niestandardowego szablonu strony dla jednej określonej strony # Tworzenie niestandardowego szablonu strony dla jednej określonej strony
Jak wspomniano na stronie Hierarchia szablonów, możesz utworzyć szablon dla określonej strony. Aby utworzyć szablon dla jednej konkretnej strony, skopiuj istniejący plik page.php
i zmień jego nazwę na informacje o pracy lub identyfikator swojej strony:
-
page-{slug}.php
-
page-{ID}.php
Na przykład: Twoja strona Informacje zawiera fragment„ about ” i identyfikator 6. Jeśli folder aktywnego motywu zawiera plik o nazwie page-about.php
lub page-6.php
, WordPress automatycznie odnajdzie i użyje tego pliku aby wyrenderować stronę Informacje.
Aby można było użyć, wyspecjalizowane szablony stron muszą znajdować się w folderze Twojego motywu (np. / wp-content / themes / my-theme-name /).
Do góry
Tworzenie szablonów stron dla określonych typów postów # Tworzenie szablonów stron dla określonych typów postów
Domyślnie niestandardowy szablon strony będzie dostępny dla postów typu „strona”.
Aby utworzyć szablon strony dla określonych typów postów, dodaj wiersz pod nazwą szablonu z typami postów, które szablon ma obsługiwać.
Przykład:
<?php/*Template Name: Full-width layoutTemplate Post Type: post, page, event*/// Page code here...
Alert: ta możliwość dodawania szablonów stron do typów postów post inny niż „strona” jest obsługiwany tylko w WordPress 4.7
Jeśli istnieje co najmniej jeden szablon dla typu posta, meta pole „Post Attributes” zostanie wyświetlone na zapleczu, bez potrzeby dodawania obsługi typu postów dla „atrybutów strony” lub czegokolwiek innego. Etykietę „Atrybuty postu” można dostosować do typu posta, używając etykiety „atrybuty” podczas rejestrowania typu posta.
Zgodność wsteczna:
Powiedzmy, że chcesz publicznie opublikować motyw z obsługą szablonów typów postów. Wersje WordPress starsze niż 4.7 zignorują nagłówek Template Post Type i pokażą szablon na liście szablonów stron, mimo że działa tylko w przypadku zwykłych postów.Aby temu zapobiec, możesz podłączyć się do filtra theme_page_templates, aby wykluczyć go z listy. Oto przykład:
Rozwiń pełny kod źródłowyZwiń pełny kod źródłowy
W ten sposób możesz obsługiwać niestandardowy post szablony typu w WordPress 4.7 i nowszych, zachowując pełną kompatybilność wsteczną.
Zauważ, że theme_page_templates jest w rzeczywistości filtrem motywu dynamicznego _ {$ post_type} _templates. Dynamiczna część nazwy haka, $ post_type, odnosi się do typu posta obsługiwanego przez szablony. Na przykład. możesz podłączyć się do theme_product_templates, aby przefiltrować listę szablonów dla typu postu dotyczącego produktu.
Góra
Używanie tagów warunkowych w szablonach strony #Używanie tagów warunkowych w szablonach stron
Możesz wprowadzać mniejsze, specyficzne dla strony zmiany za pomocą tagów warunkowych w pliku page.php
motywu. Na przykład poniższy przykładowy kod ładuje plik header-home.php
na stronę główną, ale ładuje inny plik (header-about.php
) na stronę z informacjami, a następnie stosuje domyślną wartość header.php
dla wszystkich pozostałych stron.
if ( is_front_page() ) :get_header( "home" );elseif ( is_page( "About" ) ) :get_header( "about" );else:get_header();endif;
Możesz dowiedzieć się więcej o tagach warunkowych tutaj.
Do góry
Identyfikacja szablonu strony #Identyfikacja szablonu strony
Jeśli Twój szablon wykorzystuje funkcję body_class()
, WordPress wydrukuje klasy w tagu body
dla nazwy klasy typu posta (page
), identyfikator strony (page-id-{ID}
) i użyty szablon strony. Dla domyślnej page.php
wygenerowana nazwa klasy to page-template-default
:
<body class="page page-id-6 page-template-default">
W przypadku korzystania z niestandardowego szablonu strony klasa page-template
będzie print, wraz z klasą nazywającą określony szablon. Na przykład, jeśli plik niestandardowego szablonu strony ma następującą nazwę:
<?php/* Template Name: My Custom Page */?gt;
Następnie wygenerowany renderowany kod HTML będzie wyglądał następująco:
<body class="page page-id-6 page-template page-template-my-custom-page-php">
Zwróć uwagę na page-template-my-custom-page-php
, która jest stosowana do tagu body
.
Do góry
Funkcje szablonu strony # Funkcje szablonów strony
Te wbudowane funkcje i metody WordPress mogą pomóc w pracy z szablonami stron:
-
get_page_template()
zwraca ścieżkę szablonu strony używanego do renderowania strony. -
wp_get_theme()->get_page_templates()
zwraca wszystkie niestandardowe szablony stron dostępne dla aktualnie aktywnego motywu (get_page_templates()
to metoda klasyWP_Theme
). -
is_page_template()
zwraca prawdę lub fałsz w zależności od czy do renderowania strony został użyty niestandardowy szablon strony. -
get_page_template_slug()
r ezwraca wartość pola niestandardowego_wp_page_template
(null
, gdy wartość jest pusta lub „default”). Jeśli stronie przypisano niestandardowy template, nazwa pliku tego szablonu jest przechowywana jako wartość pola niestandardowego o nazwie"_wp_page_template"
(w tabeli bazy danychwp_postmeta
). (Pola niestandardowe zaczynające się od podkreślenia nie są wyświetlane w module pól niestandardowych na ekranie edycji).