过滤oEmbed响应数据以返回iframe嵌入代码。
原型
get_oembed_response_data_rich( array $data, WP_Post $post, int $width, int $height )
参数
$data
(array)
(Required)
响应数据。
$post
(WP_Post)
(Required)
帖子对象。
$width
(int)
(Required)
要求的宽度。
$height
(int)
(Required)
计算出的高度。
返回值
(array)
修改后的响应数据。
源文件
路径:wp-includes/embed.php
<?php
...
function get_oembed_response_data_rich( $data, $post, $width, $height ) {
$data['width'] = absint( $width );
$data['height'] = absint( $height );
$data['type'] = 'rich';
$data['html'] = get_post_embed_html( $width, $height, $post );
// Add post thumbnail to response if available.
$thumbnail_id = false;
if ( has_post_thumbnail( $post->ID ) ) {
$thumbnail_id = get_post_thumbnail_id( $post->ID );
}
if ( 'attachment' === get_post_type( $post ) ) {
if ( wp_attachment_is_image( $post ) ) {
$thumbnail_id = $post->ID;
} else if ( wp_attachment_is( 'video', $post ) ) {
$thumbnail_id = get_post_thumbnail_id( $post );
$data['type'] = 'video';
}
}
if ( $thumbnail_id ) {
list( $thumbnail_url, $thumbnail_width, $thumbnail_height ) = wp_get_attachment_image_src( $thumbnail_id, array( $width, 99999 ) );
$data['thumbnail_url'] = $thumbnail_url;
$data['thumbnail_width'] = $thumbnail_width;
$data['thumbnail_height'] = $thumbnail_height;
}
return $data;
}
...
?>
其他
英文文档:https://developer.wordpress.org/reference/functions/get_oembed_response_data_rich/