WordPress 技巧:禁用 auto-embeds (oEmbed)

WordPress 3.5 版本的升级,为了使得后台 UI 和体验更加简洁,就把一些不太常用的选项给隐藏,不让用户设置,防止用户思考和迷惑,其中 WordPress 2.9 引进的 auto-embeds 选项就取消。

WordPress 技巧:禁用 auto-embeds (oEmbed)

默认就是激活状态,但是我们知道 WordPress Easy Embeds 支持的网站大部分都是国外的网站,对于我们用处也不大,如果我们想禁用 auto-embeds (oEmbed) 功能怎么办呢?

我们发现在 WP_Embed Class 中的构造函数中有如下的 filter:


add_filter( 'the_content', array( $this, 'autoembed' ), 8 );

所以我们只需要把这个 fliter 删除即可,但是我们不能使用 $this 这个变量,需要用到 $wp_embed 这个全局变量:


// Disable auto-embeds for WordPress >= v3.5
remove_filter( 'the_content', array( $GLOBALS['wp_embed'], 'autoembed' ), 8 );

代码自然贴到当前主题的 functions.php 文件或者自己加个插件头,上传到插件目录,激活即可。