Wordpress支持很多embeds 包括YouTube自WordPress 2.9.
要在任何地方渲染,只需通过the_content
过滤器,它应该自动转换URL。
$oembedContent = apply_filters( \'the_content\', $basicContent );
如果默认设置不能满足您的需要,您可以使用
wp_oembed_add_provider( $format, $provider, $regex )
或者使用添加未启用oEmbed的站点
wp_embed_register_handler( $id, $regex, $callback, $priority )
.
GenerateWP 包括用于生成add\\u提供程序代码的部分。
要测试它们,请通过运行urlwp_oembed_get()
$embed_code = wp_oembed_get( $url, $args );
并使用
oembed_dataparse
. 有一个很好的例子
oembed_dataparse
在
lorut 使一些视频嵌入响应。
// Hook onto \'oembed_dataparse\' and get 2 parameters
add_filter( \'oembed_dataparse\', \'responsive_wrap_oembed_dataparse\', 10, 2 );
function responsive_wrap_oembed_dataparse( $html, $data ) {
// Verify oembed data (as done in the oEmbed data2html code)
if ( ! is_object( $data ) || empty( $data->type ) ) {
return $html;
}
// Verify that it is a video
if ( ! ( $data->type == \'video\' ) ) {
return $html;
}
// Calculate aspect ratio
$ar = $data->width / $data->height;
// Set the aspect ratio modifier
$ar_mod = ( abs( $ar - ( 4 / 3 ) ) < abs( $ar - ( 16 / 9 ) ) ? \'embed-responsive-4by3\' : \'embed-responsive-16by9\' );
// Strip width and height from html
$html = preg_replace( \'/(width|height)="\\d*"\\s/\', "", $html );
// Return code
return \'<div class="embed-responsive \' . $ar_mod . \'" data-aspectratio="\' . number_format( $ar, 5, \'.\' ) . \'">\' . $html . \'</div>\';
}
WordPress 4.4引入了
oEmbed discovery 允许嵌入WP链接。
amaze.website 写了一篇关于如何使用
embed_head
和
embed_footer
.
// Add custom footer after embed links preview
add_action( \'embed_footer\', \'embed_custom_footer_line\' );
function embed_custom_footer_line(){ ?>
<div id="custom-embed-footer">
<h3>Our custom Footer line!</h3>
</div>
<?php }