如前所述,如果OG图像标签丢失,Facebook会自动检测图像。但是,在某些情况下,它可能会检测到其他图像(例如,不是来自您的帖子,而是来自其他内容)。
在这种情况下,获取帖子附带的所有图像的列表并使用您喜欢的图像,或者如您所建议的,使用第一个图像可能会很有用。下面的示例使用get_posts
, 然后检索关联的缩略图,并显示图像URL。您可以使用存储在中的图像URL$thumbnail[0]
, 以及其宽度和高度$thumbnail[1]
和$thumbnail[2]
, 分别地
$images = get_posts( array(
\'post_parent\' => get_the_ID(),
\'post_type\' => \'attachment\',
\'numberposts\' => 1, // Single attachment
\'post_status\' => null,
\'post_mime_type\' => \'image\', // Only images
\'orderby\' => \'post_date\',
\'order\' => \'ASC\'
) );
if ( ! empty( $images ) ) {
$thumbnail = wp_get_attachment_image_src( $images[0]->ID, \'thumbnail\' );
echo $thumbnail[0];
}
请记住,此代码不会获取文章本身中的第一个图像,而是获取文章的第一个附件,即图像。在大多数情况下,这两者是相同的(如果你没有将图像附加到你的帖子中,而不是插入到帖子内容中,那么它们是相同的)。