Das ausgewählte Bild wird nicht auf der Seite “Posts” angezeigt

Ich hoffe, dass dies noch nicht behandelt wurde – ich konnte es nicht mit meinen Keywords finden. Ich entwarf eine Website mit einem neuen Header-Bild für jede Seite. Ich rufe es auf jeder Seite in der Datei header.php wie header.php :

 <img src="https://wordpress.stackexchange.com/questions/251599/featured-image-wont-display-on-posts-page/" alt="Header Image"> 

Ich habe featured Bilder in functions.php ( add_theme_support('post-thumbnails'); ) add_theme_support('post-thumbnails'); und es funktioniert gut auf buchstäblich jeder anderen Seite der Website.

Unter Einstellungen> Lesen habe ich die Option Front Page Displays: von Your latest posts auf A static page umgestellt und meine Home- und Post-Seiten auf Home und Blog gesetzt (Seiten, die ich im Dashboard erstellt habe).

Wenn ich die Blogseite lade, wird ein leerer Bildcontainer angezeigt. Die Überprüfung der Elemente zeigt, dass kein Quellcode festgelegt ist. Wenn ich die Seite / blog / page als Posts-Seite unter Einstellungen> Lesen deaktiviere, erscheint das Bild. Ich habe das mit / blog / versucht, indem ich index.php als Vorlage benutze und dabei home.php als Vorlage verwende. Kein Unterschied.

Wenn die Blog-Seite es mir erlaubt, ein vordefiniertes Bild im WordPress-Dashboard festzulegen, warum wird es dann nicht angezeigt?

EDIT: Ich sehe diese Frage , aber die Antwort sagt mir nicht, warum oder was passiert.

Solutions Collecting From Web of "Das ausgewählte Bild wird nicht auf der Seite “Posts” angezeigt"

Wenn Sie die Posts Page: auf “Blog” eingestellt haben und dann die Seite direkt besuchen (über den Slug), wird das Headerbild angezeigt?

Wenn Sie die statische Seite “Posts” auf Ihrer Seite “Blog” festlegen, wird die Vorlage überschrieben. WordPress verwendet die Vorlagenhierarchie, um herauszufinden, welche Datei zum Anzeigen der Blogposts verwendet werden soll.

Das Problem besteht darin, dass WP_Query die Liste der anzuzeigenden Posts enthält, da die Einstellungen darauf hinweisen, dass diese Seite zum Anzeigen von Posts verwendet wird und nicht, dass es sich um eine einzelne Seite handelt.

Dies bedeutet, dass die Vorlage die Seiteneinstellungen, die bei der Bearbeitung der Seite vorgenommen wurden, nicht unbedingt kennt.

Wir müssen die Dokumentation der bedingten Tags betrachten , um das richtige zu verwendende Muster zu finden:

 if ( is_front_page() && is_home() ) { // Default homepage } elseif ( is_front_page() ) { // static homepage } elseif ( is_home() ) { // blog page } else { //everything else } 

Mit diesem Muster (oder etwas Ähnlichem) können Sie Ihren Code folgendermaßen aktualisieren:

 // Use Conditional Tags to find out if you are on the header page < ?php if ( is_home() ) : ?> header < ?php else : ?> header < ?php endif; ?> 

Wenn Sie so etwas verwenden, greift WP die Thumbnail-URL auf der Basis der Seiteneinstellungen.

Beachten Sie meine Verwendung von get_the_post_thumbnail_url() einschließlich der get_the_post_thumbnail_url() ID, um das Header-Bild aus zu ziehen. Auch Ihre Verwendung von the_post_thumbnail_url() ist falsch. Das von Ihnen verwendete echo ist redundant, da the_post_thumbnail_url() zum Drucken der Thumbnail-URL verwendet wird. Siehe die Quelle hier .

BEARBEITET für Klarheit