就我个人而言,我发现oembed_dataparse
过滤器使用起来相当灵活;有时有效,有时无效;当与自定义TinyMCE实例结合使用时,似乎添加的包装是硬烘焙到内容中的,而不是通过输出时的过滤器添加的。
我找到了embed_oembed_html
过滤器更可靠,每次都能工作:
function vnmFunctionality_embedWrapper($html, $url, $attr, $post_id) {
return \'<div class="embedwrapper">\' . $html . \'</div>\';
}
add_filter(\'embed_oembed_html\', \'vnmFunctionality_embedWrapper\', 10, 4);
请注意,这将包装所有oEmbed。如果您想专门针对YouTube:
function vnmFunctionality_embedWrapper($html, $url, $attr, $post_id) {
if (strpos($html, \'youtube\') !== false) {
return \'<div class="youtubewrapper">\' . $html . \'</div>\';
}
return $html;
}