事实证明has_post_thumbnail()
失败是因为get_post_meta()
正在为计划的帖子返回空帖子。我仍然不知道为什么,但如果其他人有这个问题,我的解决方法是创建一个新函数来获取特征图像ID,而不依赖于get_post_meta()
:
function get_featured_image_id($postID) {
global $wpdb;
$data = $wpdb->get_results($wpdb->prepare("SELECT meta_value FROM wp_postmeta WHERE post_id = %d AND meta_key = \'_thumbnail_id\'", $postID));
if (!empty($data[0]->meta_value)) {
return $data[0]->meta_value;
}
}
然后,您可以使用以下行在模板中获取特色图像URL:
wp_get_attachment_url(get_featured_image_id($post->ID))