繁体   English   中英

wordpress检查博客页面(主页)上是否有特色图片

[英]wordpress check if blog page (home page) has a featured image

我正在建立一个wordpress主题,并且在每个页面的顶部显示该页面的特色图像。 我正在使用has_featured_image()快速查询以检查其是否具有特色图像,但是,当涉及到我的博客页面(home.php)时,该查询将查找第一个POST的特色图像,而不是针对特色图像PAGE的图片。

由于上述代码不起作用,如何检查我的博客PAGE是否具有精选图片。

解决了这个问题,下面的代码将找出您的博客PAGE是否具有特色图片,而不是获取第一个POST的特色图片。

$page_for_posts = get_option( 'page_for_posts' ); 
if (has_post_thumbnail( $page_for_posts )) {
    // do something
};

山姆,您有完整的代码吗? 我正在尝试在div上将页面特色图像显示为背景图像,并使其在除博客页面以外的所有页面上正常工作,该页面显示最新博客文章的特色图像。

谢谢。

我遇到了完全相同的问题。 我有一个使用特色图片作为英雄图形的网站。 我希望博客页面也能照搬,但是当我将静态页面变成自定义博客文章索引时,我的代码不再起作用。 我终于在循环外的header.php中找到了写到条件语句中的解决方案。

第一条语句获取页面的特色图像:

<?php if ( has_post_thumbnail( $post_id )) { ?> 
<?php $url = wp_get_attachment_url( get_post_thumbnail_id($post->ID, 'thumbnail') ); ?>
<div class="grid_navigation" style="background-image: url('<?php echo $url ?>');">

第二个命令检查这是主页还是博客页面,并获取通过静态页面转换的博客索引的URL。 我仍然在解决这个问题,但是一旦页面设置为“博客”,它就会从“常规”页面库中抛出。 嗯,不确定这是否有意义。 因此,请求帖子ID不再那么简单了...

<?php } elseif (is_home() && get_option('page_for_posts') ) { ?> // Gets featured image of page set to home or blog
<?php $url = wp_get_attachment_url(get_post_thumbnail_id(get_option('page_for_posts')),'full'); ?>
<div class="grid_navigation" style="background-image: url('<?php echo $url ?>');">

然后最后一条语句将其全部关闭:

<?php } else { ?>
<div class="grid_navigation">
<?php } ?> 

这是完整的条件语句:

<?php if ( has_post_thumbnail( $post_id )) { ?> 
<?php $url = wp_get_attachment_url( get_post_thumbnail_id($post->ID, 'thumbnail') ); ?>
 <div class="grid_navigation" style="background-image: url('<?php echo $url ?>');">

<?php } elseif (is_home() && get_option('page_for_posts') ) { ?> // Gets featured image of page set to home or blog
<?php $url = wp_get_attachment_url(get_post_thumbnail_id(get_option('page_for_posts')),'full'); ?>
<div class="grid_navigation" style="background-image: url('<?php echo $url ?>');">

<?php } else { ?>
<div class="grid_navigation">
<?php } ?> 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM