首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >视频嵌入后端,但在前端不解析。

视频嵌入后端,但在前端不解析。
EN

WordPress Development用户
提问于 2018-01-28 11:37:17
回答 1查看 2K关注 0票数 3

当我尝试使用以下方式之一嵌入YouTube视频时:

  • 通过输入YouTube URL
  • 通过输入[embed]短代码
  • 通过媒体浏览器添加视频(这将产生一个[embed]短代码)

我在编辑的视野中看到了这段视频:

但是在前端视图中,使用以下代码:

代码语言:javascript
运行
复制
 $content_desktop = do_shortcode(get_the_content());

我看到了

  • 输入纯URL时:未解析的URL
  • 当输入[embed]短代码或使用WYSIWYG编辑器时:字面上没有

我检查过的东西:

  • 我是管理员用户,所以在权限方面没有问题
  • 其他短代码可以正常工作。
  • DOM字面上显示了我上面显示的内容,没有CSS干扰。
  • 我试图嵌入的YouTube视频允许外部嵌入
  • 没有选项可供我签入“设置”>“媒体”(很明显,您必须显式地打开媒体嵌入,但不再)

是否有什么众所周知的原因导致了这一切?

EN

回答 1

WordPress Development用户

回答已采纳

发布于 2018-01-28 12:18:03

我刚刚查看了WP_Embed类的源代码,看起来它们实际上并不是在注册一个短代码,而是链接到the_content过滤器。

将代码更改为

代码语言:javascript
运行
复制
$content_desktop = apply_filters("the_content", get_the_content());

或者手动触发他们的过滤器,比如

代码语言:javascript
运行
复制
$content_desktop = WP_Embed::run_shortcode(get_the_content());

或者,如果你想要一个对象:

代码语言:javascript
运行
复制
$myembeds = new WP_Embed;
$content_desktop = $myembeds->run_shortcode(get_the_content());

也见法典中的WP_Embed::run_短码类源代码-wp-Embed.php

票数 4
EN
页面原文内容由WordPress Development提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://wordpress.stackexchange.com/questions/292413

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档