Articles

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