Articles

WordPress.org

Top

Meer informatie #Meer informatie

Paginasjabloon in subdirectory #Paginasjabloon in subdirectory

Als de paginasjabloon zich in een subdirectory van het thema bevindt (sinds WP 3.4), voeg de mapnaam en een schuine streep toe aan de template bestandsnaam, bijv.:

is_page_template( 'templates/about.php' );

Top

Cannot Be Used Inside The Loop #Cannot Be Used Inside The Loop

Doordat bepaalde globale variabelen worden overschreven tijdens The Loop zal is_page_template() niet werken. Om het te gebruiken na The Loop moet je wp_reset_query() oproepen na The Loop.

Alternatief #Alternatief

Omdat de paginasjabloon slug is opgeslagen in de post_meta voor elke post die is toegewezen aan een paginasjabloon, is het mogelijk om direct query’s uit te voeren op de post_meta om te zien of een bepaalde pagina is toegewezen aan een paginasjabloon. Dit is de methode die is_page_template() intern gebruikt.

De functie get_page_template_slug( $post_id ) retourneert de slug van het huidig toegekende paginasjabloon (of een lege string als geen sjabloon is toegekend – of false als de $post_id niet overeenkomt met een actuele pagina). Je kunt dit gemakkelijk overal gebruiken (in The Loop, of daarbuiten) om te bepalen of aan een pagina een paginasjabloon is toegekend.

 // 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. }