Wordpress Genesis 主题使用特色图片显示自定义 header/background 图片
Wordpress Genesis theme display a custom header/background image using featured image
我正在使用 Genesis 框架构建网站。我 运行 在向每个页面添加自定义 header 并 post 使用管理区域中的特色图像 link 时遇到了问题。现在,特色图片 header 不会显示在我指定为 "Reading" 设置下的 "Blog" 页面的页面上。
这是站点 URL、http://ajcustomfinishes.starfireclients.com/。
这是我正在使用的函数:
// 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
}
}
有人知道如何使用特色图片在每个页面上显示自定义 header 吗?
您的代码中有这个条件,如果您在阅读设置中将页面设置为博客,则该条件将为 FALSE:
if (has_post_thumbnail() && is_page() ) {
is_page() 在博文主页(您为阅读中的帖子设置的页面)上将为 false。
您需要将此条件设置为 is_home() 为真,即您可以将代码重新用于:
if (has_post_thumbnail() && is_page() || is_home()) {
我正在使用 Genesis 框架构建网站。我 运行 在向每个页面添加自定义 header 并 post 使用管理区域中的特色图像 link 时遇到了问题。现在,特色图片 header 不会显示在我指定为 "Reading" 设置下的 "Blog" 页面的页面上。
这是站点 URL、http://ajcustomfinishes.starfireclients.com/。
这是我正在使用的函数:
// 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
}
}
有人知道如何使用特色图片在每个页面上显示自定义 header 吗?
您的代码中有这个条件,如果您在阅读设置中将页面设置为博客,则该条件将为 FALSE:
if (has_post_thumbnail() && is_page() ) {
is_page() 在博文主页(您为阅读中的帖子设置的页面)上将为 false。
您需要将此条件设置为 is_home() 为真,即您可以将代码重新用于:
if (has_post_thumbnail() && is_page() || is_home()) {