Benutzerdefinierte Vorlage für mehr als 1 Tag

WordPress lassen Sie mich benutzerdefinierte Tag-Vorlagen erstellen, ich habe viele Tags, und ich möchte den Beitrag mit Tags mit einer Vorlage getaggt anzeigen, und der Beitrag mit anderen Tags mit einer anderen Vorlage getaggt. Bildbeschreibung hier eingeben

Da dieses Bild die Template-Hierarchie zeigt, kann ich die Tag-Vorlage einfach erstellen, indem ich der Seite den Namen oder die ID des Tags gebe. Aber ich möchte 1 Template-Tag für eine große Anzahl von Tags erstellen (anstatt 1 Vorlage für jedes andere Tag zu erstellen) und ein weiteres Template-Tag für das andere.

Solutions Collecting From Web of "Benutzerdefinierte Vorlage für mehr als 1 Tag"

Hier ist ein Beispiel, das das Tag-Beschreibungsfeld “missbraucht”, um einen Vorlagennamen für das Tag zu speichern. Wir verwenden den tag_template Filter, um die Tag-Beschreibung zu erhalten, wenn sie existiert, und eine Template-Datei mit der Beschreibung als Teil des Namens zu verwenden. Sie können dies auf Whitelist-spezifische Schablonennamen erweitern, so dass Tipperrors nicht dazu führen, dass Sie versuchen, eine Datei zu laden, die nicht existiert:

 function wpd_tag_template( $templates = '' ){ $tag = get_queried_object(); if( !empty( $tag->description ) ){ $templates = locate_template( 'custom-tag-' . $tag->description . '.php', false ); } return $templates; } add_filter( 'tag_template', 'wpd_tag_template' ); 

custom-tag-template-1.php also beispielsweise die Beschreibung template-1 enthält, lädt WordPress die Datei custom-tag-template-1.php für dieses Tag.

Sie können tag.php für die große Anzahl an Tags verwenden und tag- {slug} .php für die restlichen Tags verwenden.

Außerdem können Sie bedingte Tags für alle in einer Datei, tag.php, verwenden :

 if ( is_tag( '{tag-one}' ) ) { // only for tag with slug "tag-one" } elseif ( is_tag( '{tag two}' ) ) { // only for tag with slug "tag-two" } elseif ( is_tag( '{tag three}' ) ) { // only for tag with slug "tag-three" } else { // Load default view for a great number of tags } 

Gerade, is_tag () akzeptiert ein Array von Slugs oder IDs.

Ich hoffe, ich verstehe es richtig.