17713433920 info@mac163.com

摘要:一般主题是用不到这个功能的,禁用wp-embed只会更好

得知WordPress 4.4版本更新以来,主题无缘无故被新增了个wp-embed.js,其实表面上是增加了一个js文件,但实际的逻辑不止如此,鉴于这个功能实在没什么作用,我们就来把它去除。

庆幸的是WP官方为此开发了一个插件,大家可以使用插件来禁用:Disable Embeds,如果不想安装这个插件,你也可以将下面的代码复制到主题的functions.php文件即可。

/**
 * Disable embeds
 */
 if ( !function_exists( 'disable_embeds_init' ) ) :
 function disable_embeds_init(){
 global $wp;
 $wp->public_query_vars = array_diff($wp->public_query_vars, array('embed'));
 remove_action('rest_api_init', 'wp_oembed_register_route');
 add_filter('embed_oembed_discover', '__return_false');
 remove_filter('oembed_dataparse', 'wp_filter_oembed_result', 10);
 remove_action('wp_head', 'wp_oembed_add_discovery_links');
 remove_action('wp_head', 'wp_oembed_add_host_js');
 add_filter('tiny_mce_plugins', 'disable_embeds_tiny_mce_plugin');
 add_filter('rewrite_rules_array', 'disable_embeds_rewrites');
 }
 add_action('init', 'disable_embeds_init', 9999);

function disable_embeds_tiny_mce_plugin($plugins){
 return array_diff($plugins, array('wpembed'));
 }
 function disable_embeds_rewrites($rules){
 foreach ($rules as $rule => $rewrite) {
 if (false !== strpos($rewrite, 'embed=true')) {
 unset($rules[$rule]);
 }
 }
 return $rules;
 }
 function disable_embeds_remove_rewrite_rules(){
 add_filter('rewrite_rules_array', 'disable_embeds_rewrites');
 flush_rewrite_rules();
 }
 register_activation_hook(__FILE__, 'disable_embeds_remove_rewrite_rules');

function disable_embeds_flush_rewrite_rules(){
 remove_filter('rewrite_rules_array', 'disable_embeds_rewrites');
 flush_rewrite_rules();
 }
 register_deactivation_hook(__FILE__, 'disable_embeds_flush_rewrite_rules');
 endif;

微信二维码

微信扫描二维码联系我们!
我们在微信上24小时期待你的声音
提供外贸路由器设备产品,轻松翻墙,解答:WP主题推荐,WP网站建设,Google SEO,百度SEO,专业服务器环境搭建等!


需要提供WordPress主题/插件的汉化服务可以随时联系我们!另外成品WordPress网站以及半成品WordPress网站建设,海外Google SEO优化托管服务,百度SEO优化托管服务,Centos/Debian服务器WP专用环境搭建,WP缓存服务器搭建,我们都是你的首选,拥有多年WP开源程序服务经验,我们一直在坚持客户体验,没有最好,只有更好!
回到顶部