Ist die “get_template_part” Hierarchie möglich?

Ich erstelle ein benutzerdefiniertes WordPress-Theme mit get_template_part, um kleine Code-Teile aufzurufen. Ich habe eine Datei namens “masthead.php”, die mit diesem Code aufgerufen wird:

 

Dies funktioniert wie erwartet. Ich möchte jedoch eine Art Dateihierarchie in meinem Themenordner erstellen. Zum Beispiel, wenn es eine Datei namens “custom-masthead.php” gibt, benutze diese Datei zuerst, aber wenn die Datei nicht existiert, dann benutze “masthead.php”.

Ist das etwas, das erreicht werden kann?

BEARBEITEN

Nach dem Code von @ sabreuse versuche ich, die Dinge ein wenig komplizierter zu machen. Ich möchte den Ordnernamen des Themas anstelle der Variablen $ name drucken, damit der Name des Ordners meine Hauptvariable ist, bevor er in den Fallback fällt. Ich habe diesen Code ausprobiert:

  Template;' ); ?> 

Aber das scheint nicht zu funktionieren. Vielleicht ist das nicht möglich?

BEARBEITEN

Habe es funktioniert:

  Template ); ?> 

Danke vielmals!

Johann

Solutions Collecting From Web of "Ist die “get_template_part” Hierarchie möglich?"

Ja, was Sie beschreiben, ist bereits in der function get_template_part () eingebaut:

 < ?php get_template_part( $slug, $name ); ?> 

Wobei “Masthead” in Ihrem Beispiel der allgemeine Template-Slug ist und “Custom” die spezialisiertere Version. Sie müssen Ihre Teile slug-name.php nennen (also, masthead-custom.php, anstatt custom-masthead.php).

Beachten Sie, dass Sie auch den Wert verwenden können, der von einer function für das $ name-Argument zurückgegeben wird – ich mache das ständig für Dinge wie:

 get_template_part( 'content', get_post_type() ); 

Wenn der spezielle Vorlageteil nicht gefunden wird, wird masthead.php in allen Fällen als Fallback verwendet.