it-swarm.com.de

Wie prüft man, ob eine WordPress-Vorlagendatei existiert?

Gibt es eine native Funktion, um zu überprüfen, ob ein Thema eine Vorlagendatei ist. Wenn zum Beispiel ein Theme nicht die 'home.php' Datei benutzt, dann führe etwas Code aus ...

4
Wok

Daher würde ich der Antwort Folgendes hinzufügen:

function foo_function() {
    $located = locate_template( 'home.php' );
     if ( !empty( $located ) ) {
          // 'home.php' found in Theme, do something
     }
}
add_action('init', 'foo_function');
// remember to change both of the parameters above, first one for where you want the
// action to happen and the second one the name of the function declared

Wie @Chip Bennett sagte, wird es sowohl TEMPLATEPATH als auch STYLESHEETPATH prüfen, aber ich würde den Code an einen Hook anhängen, anstatt ihn nur in die functions.php-Datei einzufügen.

Aber es liegt an dir.

6
Webord

Aus irgendeinem Grund würde locate_template() ( Codex ref ) nicht funktionieren?

if ( '' != locate_template( 'home.php' ) ) {
     // 'home.php' found in Theme, do something
}

Beachten Sie, dass locate_template() sowohl TEMPLATEPATH als auch STYLESHEETPATH ​​überprüft, sodass es sowohl für ein eigenständiges als auch für ein untergeordnetes Thema funktioniert.

6
Chip Bennett