博客页面特色图片被博客 post 特色图片覆盖

Blog page featured image being overridden by blog post featured image

在我的 Wordpress 博客页面 (home.php) 模板上,我试图在顶部显示该页面的精选图像集,然后在下方显示内容存档网格。但是,不是显示我为页面设置的特色图片,而是显示第一个博客 post 的特色图片。此外(相关),如果我删除第一个博客 post 的特色图片,它会在内容存档页面上使用另一个 post 图片。我猜这两个问题是相关的,但我不确定。任何帮助将不胜感激。

这是我在 functions.php

中输入的代码
//Add featured images
add_action( 'genesis_before_content_sidebar_wrap', 'ws_post_image', 8 );
function ws_post_image() {
    global $post;
    wp_reset_postdata();
    echo the_post_thumbnail($post->id); /*you can use medium, large or a custom size */
}

WordPress 会忽略您在 "Page for Posts" 上设置的任何内容。与其将其视为一般意义上的页面,不如将其视为帖子存档,而 "page" 只是一个 URL。也就是说,您可以访问页面的 ID,然后使用它来获取标题、特色图片或您分配给该页面的其他自定义字段:

add_action( 'genesis_before_content_sidebar_wrap', 'ws_post_image', 8 );
function ws_post_image() {
    echo get_the_post_thumbnail( get_option( 'page_for_posts' ), 'large' ); // Or use whatever size you need
}

这表示,"Get me the featured image on the page I set as the Blog page in Settings->Reading"。该页面的 ID 存储在您的选项 table 中,名称为 page_for_posts.