当你有Posts Page:
设置为“Blog”,然后直接访问页面(通过slug),是否显示标题图像?
将静态“Posts”页面设置为“Blog”页面会覆盖模板。Wordpress将使用模板层次结构来确定用于显示博客帖子的文件。
问题是WP\\U查询包含要显示的帖子列表,因为设置告诉它该页面用于显示帖子,而不是单独的页面。
这意味着模板在编辑页面时不一定知道页面设置。
我们需要看看conditional tags documentation 要找到要使用的正确模式,请执行以下操作:
if ( is_front_page() && is_home() ) {
// Default homepage
} elseif ( is_front_page() ) {
// static homepage
} elseif ( is_home() ) {
// blog page
} else {
//everything else
}
使用该模式(或类似模式),您可以将代码更新为:
// Use Conditional Tags to find out if you are on the header page
<?php if ( is_home() ) : ?>
<img src="<?php echo get_the_post_thumbnail_url(*BLOG PAGE ID HERE*,\'full\'); ?>" alt="header" />
<?php else : ?>
<img src="<?php echo get_the_post_thumbnail_url(\'full\'); ?>" alt="header" />
<?php endif; ?>
使用类似的方法,WP将根据页面设置获取缩略图URL。
注意我的用法get_the_post_thumbnail_url()
包括要从中提取标题图像的页面ID。您还可以使用the_post_thumbnail_url()
不正确。这个echo
您使用的是多余的,因为the_post_thumbnail_url()
用于打印缩略图URL。请参见source here.
为清晰起见进行了编辑