WordPress.org
Top
Více informací #Více informací
Šablona stránky v podadresáři #Šablona stránky v podadresáři
Pokud se šablona stránky nachází v podadresáři tématu (od WP 3.4), přidejte název adresáře a lomítko k názvu souboru šablony, např.:
is_page_template( 'templates/about.php' );
Top
Nelze použít uvnitř smyčky #Nelze použít uvnitř smyčky
Vzhledem k přepisování některých globálních proměnných během smyčky is_page_template()
nebude fungovat. Abyste ji mohli použít po smyčce, musíte po smyčce zavolat wp_reset_query().
Alternativa #Alternativa
Protože je slug šablony stránky uložen uvnitř post_meta pro každý příspěvek, kterému byla přiřazena šablona stránky, je možné se přímo dotazovat na post_meta a zjistit, zda byla dané stránce přiřazena šablona stránky. Tuto metodu interně používá funkce is_page_template().
Funkce get_page_template_slug( $post_id ) vrátí slug aktuálně přiřazené šablony stránky (nebo prázdný řetězec, pokud nebyla přiřazena žádná šablona – nebo false, pokud $post_id neodpovídá aktuální stránce). Tuto funkci můžete snadno použít kdekoli (ve smyčce nebo mimo ni) ke zjištění, zda byla nějaké stránce přiřazena šablona stránky.
// 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. }