这个get_media_embedded_in_content()
使用正则表达式匹配输入标记,但播放列表的HTML不是由单个标记生成的,而是由以下标记构成<div>
, <script>
, <noscript>
, <ol>
, <li>
.
最近我发布了一个答案get post playlist like get_post_gallery() 您可以查看,看看是否有帮助。它介绍了自定义wpse_get_post_playlists()
作用
我们当然可以针对这些部分:
<div class="wp-playlist...">...</div>
使用正则表达式,但我们必须注意,第一个实例可以包含其上方的脚本部分,如:
<!--[if lt IE 9]><script>document.createElement(\'audio\');</script><![endif]-->
另一种方法是包装播放列表短代码的输出,例如:。
<!--wpse-playlist--> ... <!--/wpse-playlist-->
然后使用正则表达式仅提取其中的这些部分。
下面是一个如何包装播放列表短代码输出的示例:
add_shortcode( \'playlist\', function( $attr = [], $content = null )
{
return sprintf(
\'<!--wpse-playlist-->%s<!--/wpse-playlist-->\',
wp_playlist_shortcode( $attr )
);
} );