WordPress.org
Top
Mer information #Mer information
Sidmall i underkatalog #Sidmall i underkatalog
Om sidmallen finns i en underkatalog till temat (sedan WP 3.4), sätt mappnamnet och ett snedstreck före filnamnet på mallen, t.ex.:
is_page_template( 'templates/about.php' );
Top
Kan inte användas i slingan #Kan inte användas i slingan
På grund av att vissa globala variabler skrivs över under slingan kommer is_page_template()
inte att fungera. För att kunna använda den efter The Loop måste du anropa wp_reset_query() efter The Loop.
Alternativ #Alternativ
Då sidmallens slug lagras i post_meta för alla inlägg som har tilldelats en sidmall, är det möjligt att direkt fråga post_meta för att se om en viss sida har tilldelats en sidmall. Detta är den metod som is_page_template() använder internt.
Funktionen get_page_template_slug( $post_id ) returnerar sluggen för den för närvarande tilldelade sidmallen (eller en tom sträng om ingen mall har tilldelats – eller falskt om $post_id inte motsvarar en faktisk sida). Du kan enkelt använda detta var som helst (i The Loop eller utanför) för att avgöra om en sida har tilldelats en sidmall.
// 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. }