WordPress.org
Top
Więcej informacji #Więcej informacji
Szablon strony w podkatalogu #Szablon strony w podkatalogu
Jeśli szablon strony znajduje się w podkatalogu motywu (od WP 3.4), dodaj nazwę folderu i ukośnik do nazwy pliku szablonu, np.:
is_page_template( 'templates/about.php' );
Top
Cannot Be Used Inside The Loop #Cannot Be Used Inside The Loop
Ze względu na to, że niektóre zmienne globalne są nadpisywane podczas The Loop is_page_template()
nie będzie działać. Aby użyć go po The Loop, musisz wywołać wp_reset_query() po The Loop.
Alternatywa #Alternatywa
Ponieważ slug szablonu strony jest przechowywany wewnątrz post_meta dla każdego postu, który został przypisany do szablonu strony, możliwe jest bezpośrednie zapytanie post_meta, aby zobaczyć, czy dana strona została przypisana do szablonu strony. Jest to metoda, której wewnętrznie używa is_page_template().
Funkcja get_page_template_slug( $post_id ) zwróci slug aktualnie przypisanego szablonu strony (lub pusty łańcuch, jeśli żaden szablon nie został przypisany – lub false, jeśli $post_id nie odpowiada rzeczywistej stronie). Możesz łatwo użyć tego gdziekolwiek (w The Loop, lub poza), aby określić, czy jakaś strona ma przypisany szablon strony.
// in the loop: if ( get_page_template_slug( get_the_ID() ) ){ // Yep, this page has a page template } // anywhere: if ( get_page_template_slug( $some_post_ID ) ){ // Uh-huh. }