Legen Sie ein vordefiniertes Bild als Ersatz für das Header-Bild fest

Ich .blog__header ein Header-Bild als Hintergrundbild für den Block .blog__header über Inline-Styles in functions.php:

 $header_image = get_header_image(); if ( $header_image ) { $header_image_css = " .blog__header { background-image: url({$header_image}); }"; wp_add_inline_style( 'theme-styles', $header_image_css ); } 

Jetzt möchte ich dieses Header-Bild durch ein vordefiniertes Bild ersetzen, falls gesetzt:

 $header_image = get_header_image(); if ( has_post_thumbnail() ) { $post_thumbnail = get_the_post_thumbnail('full'); } if ( $header_image ) { $header_image_css = " .blog__header { background-image: url({$header_image}); }"; wp_add_inline_style( 'theme-styles', $header_image_css ); } elseif ( has_post_thumbnail() ) { $post_thumbnail_css = " .blog__header { background-image: url({$post_thumbnail}); }"; wp_add_inline_style( 'theme-styles', $post_thumbnail_css ); } 

aber es funktioniert nicht, wahrscheinlich, weil ich die Post-ID nicht eingestellt habe. Jede Hilfe wäre sehr willkommen!

Solutions Collecting From Web of "Legen Sie ein vordefiniertes Bild als Ersatz für das Header-Bild fest"

Sie haben im Code nicht erwähnt oder gezeigt, an welchen Hook Sie den obigen Code anhängen, aber hier ist, was ich denke, sollte funktionieren. NICHT GETESTET

 global $post; $header_image = ''; // featured image is first priority, right? if ( has_post_thumbnail( $post->ID ) ) { $header_image = get_the_post_thumbnail_url( $post->ID, 'full' ); } elseif ( !empty( get_header_image() ) ) { $header_image = get_header_image(); } $header_image_css = ".blog__header { background-image: url({$header_image}); }"; wp_add_inline_style( 'theme-styles', $header_image_css );