WordPress.org
Top
Más información #Más información
Plantilla de página en subdirectorio #Plantilla de página en subdirectorio
Si la plantilla de página se encuentra en un subdirectorio del tema (desde WP 3.4), anteponga el nombre de la carpeta y una barra al nombre del archivo de la plantilla, por ejemplo:
is_page_template( 'templates/about.php' );
Top
No se puede usar dentro del bucle #No se puede usar dentro del bucle
Debido a que ciertas variables globales se sobrescriben durante el bucle is_page_template()
no funcionará. Para utilizarlo después de El Bucle debe llamar a wp_reset_query() después de El Bucle.
Alternativa #Alternativa
Dado que el slug de la plantilla de página se almacena dentro del post_meta para cualquier post que haya sido asignado a una plantilla de página, es posible consultar directamente el post_meta para ver si cualquier página dada ha sido asignada a una plantilla de página. Este es el método que is_page_template() utiliza internamente.
La función get_page_template_slug( $post_id ) devolverá el slug de la plantilla de página actualmente asignada (o una cadena vacía si no se ha asignado ninguna plantilla – o false si el $post_id no corresponde a una página real). Puede usar esto fácilmente en cualquier lugar (en El Bucle, o fuera de él) para determinar si alguna página tiene asignada una plantilla de página.
// 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. }