Articles

WordPress.org

Top

Még több információ #Még több információ

Page template in subdirectory #Page template in subdirectory

Ha az oldalsablon a téma egy alkönyvtárában található (WP 3 óta.4), akkor a sablon fájlneve elé írd a mappa nevét és egy kötőjelet, pl.:

is_page_template( 'templates/about.php' );

Top

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

Due to certain global variables being overwritten during The Loop is_page_template() will not work. Ahhoz, hogy a ciklus után használhassa, a ciklus után meg kell hívnia a wp_reset_query()-t.

Alternatív #Alternatív

Mivel az oldalsablon slug a post_meta-ban tárolódik minden olyan bejegyzéshez, amelyhez oldalsablont rendeltek, lehetséges közvetlenül lekérdezni a post_meta-t, hogy lássuk, hogy egy adott oldalhoz rendeltek-e oldalsablont. Ezt a módszert használja az is_page_template() belsőleg.

A get_page_template_slug( $post_id ) függvény az aktuálisan hozzárendelt oldalsablon slugját adja vissza (vagy egy üres stringet, ha nincs sablon hozzárendelve – vagy false, ha a $post_id nem felel meg egy tényleges oldalnak). Ezt könnyen használhatod bárhol (a ciklusban vagy azon kívül) annak megállapítására, hogy bármelyik oldalhoz hozzárendeltek-e egy oldalsablont.

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