我正在尝试嵌入\'spotify\' 和\'youtube\' 块编辑器中的服务。当从管理员添加时,它们在块编辑器中显示良好,但当从主题(single.php)打印帖子内容时,只打印相应的URL。呈现的HTML如下所示:
对于Spotify:
<figure class="wp-block-embed is-type-rich is-provider-spotify wp-block-embed-spotify wp-embed-aspect-21-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
https://open.spotify.com/episode/xxxxxx&dl_branch=1
</div></figure>
对于Youtube:
<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-4-3 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
https://www.youtube.com/watch?v=xxxxxx
</div></figure>
单件。php,我通过
get_posts() 并使用以下内容打印内容:
<?php echo do_shortcode($tpostObj->content); ?>
其他内容,如文本、图像等工作正常。如果嵌入是使用自定义HTML iframe完成的,则它们可以正常工作。
提前谢谢。
最合适的回答,由SO网友:cameronjonesweb 整理而成
那是因为他们使用的是oEmbed,而不是短代码。
您应该使用该函数the_content()
呈现帖子的内容,因为它应用了使嵌入、短代码等正常工作所需的所有东西。如果出于某种原因,这不是一个选项,您可以应用内容过滤器。
<?php echo apply_filters( \'the_content\', $tpostObj->content ); ?>