当前位置: 首页>>技术教程>>正文


wp-embed.min.js在WordPress 4.4中有什么作用?

webfans 技术教程 , , , , 去评论

问题描述

  1. wp-embed.min.js文件有什么作用?我注意到它被添加到我的博客页面页脚的末尾。

  2. 我怎么能摆脱它?

功夫

经过一些谷歌搜索后,我在Codex上找到了Embeds。为什么WordPress默认我想在我的页面上添加视频等?

环境

WordPress 4.4

最佳解决思路

我终于可以用这个摆脱它了:

function my_deregister_scripts(){
  wp_deregister_script( 'wp-embed' );
}
add_action( 'wp_footer', 'my_deregister_scripts' );

次佳解决思路

我带着同样的问题到达了这个主题:wp-embed.min.js文件有什么作用?目前的答案都没有准确地解决这个问题。

首先,我相当确定embed.min.js与嵌入来自其他提供商的oEmbed内容无关:Vimeo,YouTube等。您可以删除embed.min.js,这些嵌入将继续运行。

它特别涉及从其他人的博客/网站嵌入WordPress帖子。在WordPress帖子中嵌入WordPress帖子:所以元! This feature was introduced in WordPress 4.4

禁用embed.min.js将阻止该功能在您的网站上运行。

您可以轻松地测试:将其他人的WordPress帖子的URL粘贴到您自己的帖子中。 WP应该将该URL转换为嵌入式窗口小部件。当您在front-end上查看帖子时,您会注意到您的标记包含一个blockquote和一个iframe。 blockquote是您嵌入的博客文章的text-only链接,而iFrame的来源是附加了/embed/的博客帖子的URL:其oEmbed端点。

embed.min.js隐藏了blockquote并显示了iframe。它还做了一些其他的恶作剧让iframe玩得很好。

现在,尝试使用其他答案中描述的方法之一从页面中删除embed.min.js脚本。重新加载您的页面,您会注意到blockquote是可见的,但iframe是隐藏的。

简而言之:如果你想将其他人的WordPress帖子嵌入你自己的WordPress帖子中,请单独留下embed.min.js。如果您不关心此功能,则可以安全地将其删除。

第三种解决思路

Trix的答案在WordPress 4.4.1上没有用,但我在Disable Embeds WordPress插件的代码中找到了一个解决方案。在主题的functions.php文件中添加此代码(已修改),以完全从前端删除wp-embed.min.js文件:

add_action( 'init', function() {

    // Remove the REST API endpoint.
    remove_action('rest_api_init', 'wp_oembed_register_route');

    // Turn off oEmbed auto discovery.
    // Don't filter oEmbed results.
    remove_filter('oembed_dataparse', 'wp_filter_oembed_result', 10);

    // Remove oEmbed discovery links.
    remove_action('wp_head', 'wp_oembed_add_discovery_links');

    // Remove oEmbed-specific JavaScript from the front-end and back-end.
    remove_action('wp_head', 'wp_oembed_add_host_js');
}, PHP_INT_MAX - 1 );

第四种思路

我认为这部分仍然缺失。

What does the wp-embed.min.js file do? I noticed it is added to the end of my blog page footer.

这个问题的答案就在轨道上。 https://core.trac.wordpress.org/changeset/35708

Embeds: Remove & characters from the inline embed JS.

Older versions of WordPress will convert those & characters to &, which makes for some non-functional JS. If folks are running an older release, let’s not make their lives more difficult than it already is.

它还会尝试嗅探用户代理。

参考资料

本文由朵颐IT整理自网络, 文章地址: https://duoyit.com/article/2707.html,转载请务必附带本地址声明。