2016-12-28 3 views
1

Ich baue eine Website mit dem Genesis-Framework. Ich stieß auf ein Problem mit dem Hinzufügen eines benutzerdefinierten Headers zu jeder Seite und zum Posten mit dem vorgestellten Bild-Link im Admin-Bereich. Momentan wird der vorgestellte Bildkopf nicht auf der Seite angezeigt, die ich als "Blog" -Seite unter den "Reading" -Einstellungen definiert habe.Wordpress Genesis Thema Anzeige eines benutzerdefinierten Header/Hintergrundbild mit vorgestellten Bild

Hier ist die URL der Website, http://ajcustomfinishes.starfireclients.com/.

Hier ist die Funktion ich verwende:

// Create new image size for our hero image 
add_image_size('hero-image', 1400, 400, TRUE); // creates a hero image size 

// Hook after header area 
add_action('genesis_after_header', 'bw_hero_image'); 

function bw_hero_image() { 
// If it is a page and has a featured thumbnail, but is not the front page do the following... 
    if (has_post_thumbnail() && is_page()) { 
     // Get hero image and save in variable called $background 
     $image_desktop = wp_get_attachment_image_src(get_post_thumbnail_id($page->ID), 'hero-image'); 
     $image_tablet = wp_get_attachment_image_src(get_post_thumbnail_id($page->ID), 'large'); 
     $image_mobile = wp_get_attachment_image_src(get_post_thumbnail_id($page->ID), 'medium'); 

     $bgdesktop = $image_desktop[0]; 
     $bgtablet = $image_tablet[0]; 
     $bgmobile = $image_mobile[0]; 

// You can change above-post-hero to any class you want and adjust CSS styles 
     $featured_class = 'above-post-hero'; 

?> 
<div class='<?php echo $featured_class; ?>'><h1 class="custom-title">AJ Customs Finishes in Las Vegas<br>Call 702-795-7338 today!</h1></div> 
<style> 
    <?php echo ".$featured_class "; ?> {background-image:url(<?php echo $bgmobile; ?>);height:176px;} 

     @media only screen and (min-width : 480px) {  
     <?php echo ".$featured_class "; ?> {background-image:url(<?php echo $bgtablet;?>);height:276px;} 
     } 
     @media only screen and (min-width : 992px) {  
     <?php echo ".$featured_class "; ?> {background-image:url(<?php echo $bgdesktop;?>);height:400px;} 
     } 
</style> 
<?php 
    } 
} 

Weiß jemand, wie ich die vorgestellten Bild verwenden kann auf jeder Seite einen benutzerdefinierten Header angezeigt werden?

Antwort

0

Sie haben diese Bedingung im Code, die im Falle einer Seite FALSCH werden Sie als Blog im Lese Einstellungen:

if (has_post_thumbnail() && is_page()) { 

is_page() auf Blog-Posts zu Hause falsch sein (Seite Sie setzen für Beiträge beim Lesen).

Sie müssen diesen Zustand setzen, wie is_home() um wahr zu sein heißt Sie Ihren Code umfunktionieren können sein:

if (has_post_thumbnail() && is_page() || is_home()) { 
+0

sehr geschätzt. Klappt wunderbar. –

Verwandte Themen